قفل الکترونیکی در آردوینو. قفل کد DIY در آردوینو

از میزبان کانال یوتیوب "AlexGyver" خواسته شد تا با دستان خود قفل الکترونیکی بسازد. به سری ویدیوهای قفل الکترونیکی در آردوینو خوش آمدید. استاد ایده را به طور کلی توضیح می دهد.

چندین گزینه برای ایجاد یک سیستم قفل الکترونیکی وجود دارد. اغلب برای قفل کردن درها، کشوها و کابینت ها استفاده می شود. و همچنین برای ایجاد کش و گاوصندوق های مخفی. بنابراین، شما باید طرحی بسازید که کار با آن راحت باشد و بتواند ساختار سیستم را از داخل و خارج به وضوح و با جزئیات نشان دهد. بنابراین تصمیم گرفتم یک قاب با در بسازم. برای انجام این کار به یک پرتو مربع 30 در 30 نیاز دارید. تخته سه لا 10 میلی متر. لولای درب. در ابتدا می خواستم یک جعبه تخته سه لا بسازم، اما یادم آمد که اتاق پر از قطعات یدکی است. جایی برای قرار دادن چنین جعبه ای وجود ندارد. بنابراین ماکت ساخته خواهد شد. اگر کسی بخواهد یک قفل الکترونیکی برای خود نصب کند، با نگاه کردن به طرح، می تواند به راحتی همه چیز را تکرار کند.

در این فروشگاه چینی هر آنچه برای یک قلعه نیاز دارید پیدا خواهید کرد.

هدف توسعه کارآمدترین مدارها و سیستم عامل برای قفل های الکترونیکی است. می توانید از این نتایج برای نصب این سیستم ها بر روی درها، کشوها، کابینت ها و مخفیگاه های خود استفاده کنید.

درب آماده است. اکنون باید نحوه باز و بسته شدن الکترونیکی را دریابیم. یک چفت برقی قدرتمند از aliexpress برای این اهداف مناسب است (پیوند به فروشگاه بالا). اگر به ترمینال ها ولتاژ بدهید باز می شود. مقاومت سیم پیچ تقریبا 12 اهم است، به این معنی که در ولتاژ 12 ولت سیم پیچ حدود 1 آمپر مصرف می کند. هر دو باتری لیتیومی و ماژول تقویت کننده می توانند با این کار کنار بیایند. ولتاژ مناسب را تنظیم کنید. اگرچه کمی بیشتر امکان پذیر است. چفت با فاصله به داخل در وصل می شود تا لبه آن را نگیرد و با ضربه محکم بسته شود. چفت باید مشابهی به شکل جعبه فلزی داشته باشد. استفاده از آن بدون این ناخوشایند و نادرست است. ما باید یک مرحله نصب کنیم، حداقل برای ایجاد ظاهر عملکرد عادی.

در حالت بیکار، چفت به طور معمول باز می شود، یعنی اگر دستگیره روی در باشد، یک پالس می زنیم و در را توسط دستگیره باز می کنیم. اما اگر از فنر استفاده می کنید این روش دیگر مناسب نیست. مبدل تقویت کننده نمی تواند با بار مقابله کند. برای باز کردن درب فنری باید از باتری های بزرگ و بیشتر استفاده کنید مبدل قدرتمند. یا منبع شبکهمنبع تغذیه و نادیده گرفتن استقلال سیستم. فروشگاه های چینی دارای چفت های بزرگ هستند. آنها برای کشو مناسب هستند. برق را می توان با استفاده از یک رله یا ترانزیستور ماسفت یا یک کلید برق روی همان ترانزیستور تامین کرد. یک گزینه جالب تر و کم هزینه تر، یک درایو سروو است که با هر عنصر قفل - یک چفت یا یک پیچ جدی تر - به یک میله اتصال متصل می شود. همچنین ممکن است به یک تکه سوزن بافندگی فولادی نیاز داشته باشید تا به عنوان میله اتصال عمل کند. چنین سیستمی به جریان بالایی نیاز ندارد. اما فضای بیشتری را اشغال می کند و منطق کنترل زیرکانه تری دارد.

دو نوع سروو وجود دارد. کوچک‌های ضعیف و بزرگ‌های قدرتمند که به راحتی می‌توان آن‌ها را در سوراخ‌های پین‌های فلزی جدی فرو برد. هر دو گزینه نشان داده شده روی درها و کشوها کار می کنند. شما باید جعبه را سرهم کنید و سوراخی در دیوار جمع شونده ایجاد کنید.

بخش دوم

در این مقاله به شما خواهم گفت که چگونه یک قفل ترکیبی از آردوینو بسازید. برای این کار به LED های قرمز و سبز، زنگ، آردوینو نانو، صفحه نمایش LCD با مبدل I2C، درایو سروو و صفحه کلید ماتریس 4×4 نیاز داریم. هنگامی که روشن است، صفحه نمایش "کد را وارد کنید" خواهد نوشت.

LED قرمز روشن می شود،

و چراغ سبز خاموش می شود، سروو روی 0 درجه تنظیم می شود. با وارد کردن اعداد، * روی نمایشگر روشن می شود.

اگر کد را اشتباه وارد کنید، صفحه نمایش "کد را وارد کنید." می‌نویسد. اگر کد درست باشد، یک بوق به صدا در می‌آید، سروو 180 درجه می‌چرخد و صفحه نمایش «باز» را نشان می‌دهد.

LED سبز روشن می شود،

و قرمز خاموش می شود. پس از 3 ثانیه، سروو به موقعیت اولیه خود باز می گردد، LED قرمز روشن می شود و LED سبز خاموش می شود، صفحه نمایش "بستن" را می نویسد.

سپس صفحه نمایش "کد را وارد کنید". حالا در مورد طرح ابتدا آردوینو را با سیم به آن وصل می کنیم هیئت توسعه(مخاطبین قدرت).

سپس صفحه کلید ماتریسی را به مخاطبین D9 - D2 وصل می کنیم.

سپس سروو. آن را به پین ​​10 وصل می کنیم.

LED قرمز به پین ​​11.

سبز - به پین ​​12.

زنگ - به پین ​​13.

حالا طرح را آپلود کنید.

#عبارتند از #عبارتند از #عبارتند از #عبارتند از iarduino_KB KB(9, 8, 7, 6, 5, 4, 3, 2); ال سی دی LiquidCrystal_I2C (0x27, 16, 2); سرو سروو; int pass = (3، 6، 1، 8); int in; int r = 11; int g = 12; void setup() (KB.begin(KB1)؛ pinMode(r، OUTPUT); pinMode(g، OUTPUT); lcd.init(); lcd.backlight(); digitalWrite(g، LOW); digitalWrite(r، HIGH ( !KB.check(KEY_DOWN)) ( تاخیر(1)؛ ) در = KB.getNum؛ lcd.clear()؛ lcd.setCursor(0، 0)؛ lcd.print("*")؛ در حالی که (!KB. چک (KEY_DOWN)) ( تاخیر(1)؛ ) در = KB.getNum؛ lcd.print("*")؛ در حالی که (!KB.check(KEY_DOWN)) ( تاخیر(1)؛ ) در = KB.getNum; lcd.print("*"); while (!KB.check(KEY_DOWN)) ( تاخیر(1)؛ ) در = KB.getNum؛ lcd.print("*")؛ if (in == پاس) (اگر (in == pass) ( if (in == pass) ( if (in == pass) ( lcd.clear(); lcd.setCursor(0, 0); lcd.print("Open."); tone( 13, 400, 750؛ servo.write(180)؛ digitalWrite(r, LOW؛ digitalWrite(g, HIGH)؛ delay(3000)؛ lcd.clear(؛ lcd.setCursor(0, 0)؛ lcd. print("Close."); tone(13, 300, 700); servo.write(0); digitalWrite(g, LOW); digitalWrite(r, HIGH); delay(1000); ))))))

همین. از قفل ترکیبی لذت ببرید!

فهرست عناصر رادیویی

تعیین تایپ کنید فرقه تعداد توجه داشته باشیدخرید کنیددفترچه یادداشت من
E1 برد آردوینو

آردوینو نانو 3.0

1 5 ولت به دفترچه یادداشت
E8، E9 مقاومت

220 اهم

2 SMD به دفترچه یادداشت
E6 دیود ساطع نور

AL102G

1 قرمز به دفترچه یادداشت
E7 دیود ساطع نور

AL307G

1 سبز به دفترچه یادداشت
E3 صفحه نمایش ال سی دیبا رابط I2C1 نور پس زمینه سبز به دفترچه یادداشت
E5 سرووSG901 180 درجه به دفترچه یادداشت
E2 زنگ5 ولت1 بو به دفترچه یادداشت
E4 صفحه کلید4X41 ماتریس به دفترچه یادداشت
خیر تخته نان640 امتیاز1 بدون لحیم کاری

درس امروز نحوه استفاده از یک خواننده RFID با آردوینو برای ایجاد یک سیستم قفل ساده است. به زبان ساده- قفل RFID

RFID (انگلیسی شناسایی فرکانس رادیویی، شناسایی فرکانس رادیویی) روشی برای شناسایی خودکار اشیاء است که در آن داده‌های ذخیره شده در به اصطلاح فرستنده‌ها یا برچسب‌های RFID با استفاده از سیگنال‌های رادیویی خوانده یا نوشته می‌شوند. هر سیستم RFID از یک دستگاه خواندن (خواننده، خواننده یا بازپرس) و یک فرستنده (همچنین به عنوان برچسب RFID شناخته می شود، گاهی اوقات از اصطلاح برچسب RFID نیز استفاده می شود) تشکیل شده است.

این آموزش از یک تگ RFID با آردوینو استفاده می کند. دستگاه شناسه منحصر به فرد (UID) هر تگ RFID را که در کنار خواننده قرار می دهیم می خواند و آن را روی صفحه نمایش OLED نمایش می دهد. اگر UID تگ برابر با مقدار از پیش تعریف شده ای باشد که در حافظه آردوینو ذخیره می شود، پیام Unlocked را روی نمایشگر خواهیم دید. اگر شناسه منحصربه‌فرد با مقدار از پیش تعریف‌شده برابر نباشد، پیام "قفل نشده" ظاهر نمی‌شود - عکس زیر را ببینید.

قلعه بسته است

قفل باز است

قطعات مورد نیاز برای ایجاد این پروژه:

  • خواننده RFID RC522
  • صفحه نمایش OLED
  • تخته نان
  • سیم ها

توضیحات بیشتر:

  • باتری (پاوربانک)

هزینه کل اجزای پروژه تقریباً 15 دلار بود.

مرحله 2: RFID Reader RC522

هر تگ RFID حاوی یک تراشه کوچک است (کارت سفید نشان داده شده در عکس). اگر چراغ قوه را روی این کارت RFID بتابانید، می توانید تراشه کوچک و سیم پیچی که آن را احاطه کرده است، ببینید. این تراشه باتری برای تولید برق ندارد. با استفاده از این سیم پیچ بزرگ، برق را از خواننده به صورت بی سیم دریافت می کند. خواندن کارت RFID مانند این از فاصله 20 میلی متری امکان پذیر است.

همین تراشه در برچسب‌های فوب کلید RFID نیز وجود دارد.

هر تگ RFID دارای یک شماره منحصر به فرد است که آن را شناسایی می کند. این UID است که بر روی صفحه نمایش OLED نشان داده شده است. به جز این UID، هر تگ می تواند داده ها را ذخیره کند. این نوع کارت می تواند تا 1000 داده را ذخیره کند. چشمگیر است، اینطور نیست؟ این ویژگی امروز مورد استفاده قرار نخواهد گرفت. امروزه تنها چیزی که مورد توجه است شناسایی یک کارت خاص توسط UID آن است. هزینه ریدر RFID و این دو کارت RFID حدود 4 دلار است.

مرحله 3: صفحه نمایش OLED

این درس از یک نمایشگر 0.96 اینچی 128x64 I2C OLED استفاده می کند.

این صفحه نمایش بسیار خوبی برای استفاده با آردوینو است. این صفحه نمایش OLED است و این بدان معناست که مصرف انرژی پایینی دارد. مصرف برق این نمایشگر حدود 10-20 میلی آمپر است و بستگی به تعداد پیکسل دارد.

رزولوشن صفحه نمایش 128 در 64 پیکسل و ابعاد بسیار کوچکی دارد. دو گزینه نمایش وجود دارد. یکی از آنها تک رنگ است و دیگری، مانند آنچه در درس استفاده می شود، می تواند دو رنگ را نمایش دهد: زرد و آبی. قسمت بالای صفحه فقط می تواند زرد و قسمت پایین فقط آبی باشد.

این صفحه نمایش OLED بسیار روشن است و دارای یک کتابخانه عالی و بسیار زیبا است که Adafruit برای این نمایشگر ساخته است. علاوه بر این، صفحه نمایش از رابط I2C استفاده می کند، بنابراین اتصال به آردوینو فوق العاده آسان است.

فقط باید دو سیم به جز Vcc و GND وصل کنید. اگر با آردوینو تازه کار هستید و می خواهید از یک صفحه نمایش ارزان و ساده در پروژه خود استفاده کنید، از اینجا شروع کنید.

مرحله 4: اتصال تمام قطعات

پیشرفت متوقف نمی شود و "قفل های هوشمند" به طور فزاینده ای بر روی درهای آپارتمان ها، گاراژها و خانه ها ظاهر می شوند.

قفل مشابهی با فشار دادن دکمه ای روی گوشی هوشمند خود باز می شود. خوشبختانه گوشی‌های هوشمند و تبلت‌ها وارد زندگی روزمره ما شده‌اند. در برخی موارد، "قفل های هوشمند" به "سرویس های ابری" مانند Google Drive متصل می شوند و از راه دور باز می شوند. علاوه بر این، این گزینه امکان دسترسی به باز کردن درب را برای افراد دیگر فراهم می کند.

این پروژه دارای یک نسخه DIY خواهد بود قفل هوشمنددر آردوینو، که می تواند از راه دور از هر نقطه روی زمین کنترل شود.

علاوه بر این، این پروژه قابلیت باز کردن قفل را پس از شناسایی اثر انگشت اضافه کرده است. برای این منظور حسگر اثر انگشت یکپارچه خواهد شد. هر دو گزینه باز شدن درب توسط پلت فرم Adafruit IO تامین می شوند.

قفلی مانند این می تواند اولین قدم عالی در پروژه خانه هوشمند شما باشد.

راه اندازی حسگر اثر انگشت

برای کار با حسگر اثر انگشت، یک کتابخانه عالی برای آردوینو وجود دارد که روند راه اندازی سنسور را بسیار ساده می کند. این پروژه از Arduino Uno استفاده می کند. برای اتصال به اینترنت از برد Adafruit CC3000 استفاده می شود.

بیایید با اتصال برق شروع کنیم:

  • پایه 5 ولت را از برد آردوینو به ریل برق قرمز وصل کنید.
  • پین GND آردوینو به ریل آبی روی برد مدار بدون لحیم متصل می شود.

بیایید به اتصال حسگر اثر انگشت ادامه دهیم:

  • ابتدا برق را وصل کنید. برای انجام این کار، سیم قرمز به ریل +5 ولت و سیم مشکی به ریل GND متصل می شود.
  • سیم سفید سنسور به پین ​​4 آردوینو متصل می شود.
  • سیم سبز به پین ​​3 روی میکروکنترلر می رود.

حالا بیایید به سراغ ماژول CC3000 برویم:

  • پایه IRQ را از برد CC3000 به پایه 2 آردوینو وصل می کنیم.
  • VBAT - به پین ​​5.
  • CS - به پین ​​10.
  • پس از این، شما باید پایه های SPI را به آردوینو متصل کنید: MOSI، MISO و CLK - به ترتیب به پایه های 11، 12 و 13.

خوب، در پایان باید برق را تامین کنید: Vin - به آردوینو 5 ولت (ریل قرمز روی برد مدار شما) و GND به GND (راه آهن آبی روی تخته نان).

عکسی از پروژه کاملا مونتاژ شده در زیر نشان داده شده است:

قبل از ایجاد طرحی که داده ها را روی Adafruit IO بارگذاری می کند، باید داده های مربوط به اثر انگشت خود را به حسگر منتقل کنید. در غیر این صورت در آینده شما را نمی شناسد؛). توصیه می کنیم سنسور اثر انگشت را با استفاده از آردوینو به طور جداگانه کالیبره کنید. اگر اولین بار است که با این سنسور کار می کنید، توصیه می کنیم با فرآیند کالیبراسیون و دستورالعمل های دقیق کار با حسگر اثر انگشت آشنا شوید.

اگر قبلاً این کار را نکرده‌اید، لطفاً یک حساب کاربری با Adafruit IO ایجاد کنید.

پس از این، می‌توانیم به مرحله بعدی توسعه «قفل هوشمند» در آردوینو برویم: یعنی توسعه طرحی که داده‌ها را به Adafruit IO منتقل می‌کند. از آنجایی که این برنامه بسیار حجیم است، در این مقاله فقط قسمت های اصلی آن را برجسته می کنیم و در نظر می گیریم و سپس پیوندی به GitHub ارائه می دهیم که می توانید طرح کامل را از آنجا دانلود کنید.

طرح با بارگیری تمام کتابخانه های لازم آغاز می شود:

#عبارتند از

#عبارتند از

#عبارتند از

#include "Adafruit_MQTT.h"

#شامل "Adafruit_MQTT_CC3000.h"

#عبارتند از

#عبارتند از >

پس از این، باید با وارد کردن پارامترهای شبکه WiFi خود، تعیین SSID و رمز عبور، طرح را کمی اصلاح کنید:

#define WLAN_SECURITY WLAN_SEC_WPA2>

علاوه بر این، برای ورود به حساب Adafruit IO خود باید نام و کلید AIO خود را وارد کنید:

#define AIO_SERVERPORT 1883

#define AIO_USERNAME "adafruit_io_name"

#define AIO_KEY "adafruit_io_key">

خطوط زیر وظیفه تعامل و پردازش داده های حسگر اثر انگشت را بر عهده دارند. اگر سنسور فعال شده باشد (اثر انگشت مطابقت دارد)، "1" وجود خواهد داشت:

const char FINGERPRINT_FEED PROGMEM = AIO_USERNAME "/feeds/fingerprint";

Adafruit_MQTT_Publish اثر انگشت = Adafruit_MQTT_Publish(&mqtt, FINGERPRINT_FEED);

علاوه بر این، ما باید یک نمونه از شی SoftwareSerial برای سنسور خود ایجاد کنیم:

SoftwareSerial mySerial(3, 4);

پس از این می توانیم یک شی برای سنسور خود ایجاد کنیم:

انگشت Adafruit_Fingerprint = Adafruit_Fingerprint(&mySerial);

در داخل طرح، نشان می‌دهیم که کدام شناسه انگشت باید قفل را در آینده فعال کند. این مثال از 0 استفاده می کند که با شناسه اولین اثر انگشت استفاده شده توسط سنسور مطابقت دارد:

int انگشت ID = 0;

پس از این، شمارنده را مقداردهی اولیه می کنیم و در پروژه خود تاخیر ایجاد می کنیم. اساساً ما می خواهیم که قفل پس از باز شدن به طور خودکار درگیر شود. این مثال از 10 ثانیه تاخیر استفاده می کند، اما می توانید این مقدار را مطابق با نیاز خود تنظیم کنید:

int activationCounter = 0;

int lastActivation = 0;

int activationTime = 10 * 1000;

در بدنه تابع setup()، حسگر اثر انگشت را مقداردهی اولیه می‌کنیم و اطمینان حاصل می‌کنیم که تراشه CC3000 به شبکه WiFi شما متصل است.

در بدنه تابع loop() به Adafruit IO متصل می شویم. خط زیر مسئول این است:

پس از اتصال به پلتفرم Adafruit IO، آخرین اثر انگشت را بررسی می کنیم. اگر مطابقت داشته باشد و قفل فعال نشود، "1" را برای پردازش به Adafruit IO ارسال می کنیم:

اگر (شناسه اثرانگشت == شناسه انگشت && lockState == نادرست) (

Serial.println(F("دسترسی داده شد!"));

lockState = true;

Serial.println(F("ناموفق"));

Serial.println(F("OK!"));

lastActivation = millis();

اگر در تابع loop() قفل فعال شود و به مقدار تاخیر نشان داده شده در بالا رسیده باشیم، "0" را ارسال می کنیم:

if ((activationCounter - lastActivation > activationTime) && lockState == true) (

lockState = نادرست;

if (! fingerprint.publish(state)) (

Serial.println(F("ناموفق"));

Serial.println(F("OK!"));

می توانید آخرین نسخه کد را در GitHub دانلود کنید.

وقت آن است که پروژه خود را آزمایش کنیم! فراموش نکنید که تمام کتابخانه های لازم برای آردوینو را دانلود و نصب کنید!

مطمئن شوید که تمام تغییرات لازم را در اسکچ انجام داده اید و آن را در آردوینو خود آپلود کرده اید. پس از آن، پنجره Serial Monitor را باز کنید.

هنگامی که آردوینو به شبکه وای فای متصل می شود، حسگر اثر انگشت شروع به چشمک زدن قرمز می کند. انگشت خود را روی سنسور قرار دهید. شماره شناسه باید در پنجره نمایشگر سریال نمایش داده شود. اگر مطابقت داشته باشد، پیام "OK!" ظاهر می شود. این بدان معنی است که داده ها به سرورهای Adafruit IO ارسال شده است.

نمودار و طرح برای پیکربندی بیشتر قفل با استفاده از مثال LED

حال بیایید به آن قسمت از پروژه بپردازیم که مستقیماً مسئولیت مدیریت را بر عهده دارد قفل در. برای اتصال به یک شبکه بی سیم و فعال/غیرفعال کردن قفل، به یک ماژول Adafruit ESP8266 اضافی نیاز دارید (ماژول ESP8266 لازم نیست از Adafruit باشد). با استفاده از مثال زیر، می توانید ارزیابی کنید که تبادل داده بین دو پلتفرم (Arduino و ESP8266) با استفاده از Adafruit IO چقدر آسان است.

در این بخش ما مستقیماً با قفل کار نمی کنیم. در عوض، ما به سادگی LED را به پینی که قفل بعداً وصل می شود وصل می کنیم. این به ما این فرصت را می دهد تا کد خود را بدون بررسی جزئیات طراحی قفل آزمایش کنیم.

این طرح بسیار ساده است: ابتدا ESP8266 را روی تخته نان نصب کنید. پس از این، LED را نصب کنید. فراموش نکنید که پایه بلند (مثبت) LED از طریق یک مقاومت وصل شده است. پایه دوم مقاومت به پایه 5 در ماژول ESP8266 متصل است. دومین (کاتد) LED را به پین ​​GND روی ESP8266 وصل می کنیم.

به طور کامل مدار مونتاژ شدهدر عکس زیر نشان داده شده است.


حالا بیایید به طرحی که برای این پروژه استفاده می کنیم نگاه کنیم. باز هم، کد بسیار بزرگ و پیچیده است، بنابراین ما فقط به بخش های اصلی آن نگاه می کنیم:

ما با اتصال کتابخانه های لازم شروع می کنیم:

#عبارتند از

#include "Adafruit_MQTT.h"

#include "Adafruit_MQTT_Client.h"

پیکربندی تنظیمات WiFi:

#define WLAN_SSID "Your_wifi_ssid"

#define WLAN_PASS "Your_wifi_password"

#define WLAN_SECURITY WLAN_SEC_WPA2

ما همچنین پارامترهای Adafruit IO را پیکربندی می کنیم. همانند قسمت قبل:

#define AIO_SERVER "io.adafruit.com"

#define AIO_SERVERPORT 1883

#define AIO_USERNAME "adafruit_io_username"

#define AIO_KEY "adafruit_io_key"

ما نشان می دهیم که LED را به کدام پین وصل کرده ایم (در آینده این قفل یا رله ما خواهد بود):

int relayPin = 5;

تعامل با حسگر اثر انگشت، مانند بخش قبل:

const char LOCK_FEED PROGMEM = AIO_USERNAME "/feeds/lock";

Adafruit_MQTT_قفل اشتراک = Adafruit_MQTT_Subscribe(&mqtt, LOCK_FEED);

در بدنه تابع setup() نشان می‌دهیم که پینی که LED به آن متصل است باید در حالت OUTPUT کار کند:

pinMode (RelayPin، OUTPUT)؛

در حلقه ()loop، ابتدا بررسی می کنیم که آیا به Adafruit IO متصل هستیم یا خیر:

پس از این، بررسی می کنیم که چه سیگنالی دریافت می شود. اگر "1" منتقل شود، پینی را که قبلاً اعلام کرده بودیم و LED ما به آن وصل شده است را فعال می کنیم. اگر "0" را دریافت کنیم، مخاطب را به حالت "کم" منتقل می کنیم:

Adafruit_MQTT_Subscribe *subscription;

در حالی که ((اشتراک = mqtt.readSubscription(1000))) (

اگر (اشتراک == & قفل) (

Serial.print(F("Got:"));

Serial.println((char *)lock.lastread);

// دستور را در داده های رشته ای ذخیره کنید

دستور رشته = String((char *)lock.lastread);

اگر (فرمان == "0") (

digitalWrite (relayPin، LOW)؛

اگر (فرمان == "1") (

digitalWrite (relayPin، HIGH);

پیدا کردن آخرین نسخهمی توانید طرح را در GitHub پیدا کنید.

وقت آن است که پروژه خود را آزمایش کنیم. فراموش نکنید که تمام کتابخانه های مورد نیاز برای آردوینو خود را دانلود کنید و بررسی کنید که آیا تغییرات درستی را در طرح ایجاد کرده اید یا خیر.

برای برنامه ریزی تراشه ESP8266 می توانید از یک مبدل ساده USB-FTDI استفاده کنید.

طرح را در آردوینو آپلود کنید و پنجره سریال مانیتور را باز کنید. در این مرحله، ما به سادگی بررسی کردیم که آیا می‌توانیم به Adafruit IO متصل شویم: عملکردهای موجود را بیشتر بررسی خواهیم کرد.

تست پروژه

حالا بیایید شروع به آزمایش کنیم! به منوی کاربری Adafruit IO خود در زیر منوی Feeds بروید. بررسی کنید که آیا کانال های اثر انگشت و قفل ایجاد شده اند یا خیر (در صفحه چاپ زیر این خطوط اثر انگشت و قفل هستند):


اگر آنها وجود ندارند، باید آنها را به صورت دستی ایجاد کنید.

اکنون باید از تبادل داده بین اثر انگشت و کانال قفل اطمینان حاصل کنیم. هنگامی که کانال اثر انگشت مقدار "1" را می گیرد، کانال قفل باید مقدار "1" را بگیرد و بالعکس.

برای این ما از خیلی استفاده می کنیم ابزار قدرتمند Adafruit IO: محرک ها. تریگرها اساساً شرایطی هستند که می توانید برای کانال های پیکربندی شده اعمال کنید. یعنی می توان از آنها برای اتصال دو کانال استفاده کرد.

یک تریگر واکنشی جدید از بخش Triggers در Adafruit IO ایجاد کنید. این امکان تبادل داده بین سنسور اثر انگشت و کانال های قفل را فراهم می کند:


زمانی که هر دو تریگر پیکربندی می شوند باید به این صورت باشد:

همه! حالا ما واقعاً می توانیم پروژه خود را آزمایش کنیم! انگشت خود را روی سنسور گذاشتیم و دیدیم که چگونه آردوینو با یک LED که مربوط به انتقال داده است شروع به چشمک زدن کرد. پس از این، LED روی ماژول ESP8266 باید شروع به چشمک زدن کند. این بدان معناست که شروع به دریافت داده از طریق MQTT کرده است. LED روی برد مدار نیز باید در این لحظه روشن شود.

پس از تاخیری که در طرح تعیین کرده اید (پیش فرض 10 ثانیه است)، LED خاموش می شود. تبریک می گویم! شما می توانید LED را با اثر انگشت خود از هر کجای دنیا کنترل کنید!

راه اندازی قفل الکترونیکی

ما به آخرین بخش پروژه رسیدیم: اتصال مستقیم و کنترل. قفل الکترونیکیبا استفاده از آردوینو و حسگر اثر انگشت این پروژه آسان نیست، می توانید از تمام منابع به شکلی که در بالا ارائه شده است استفاده کنید، اما به جای LED، یک رله را وصل کنید.

برای اتصال مستقیم قفل، به اجزای اضافی نیاز دارید: منبع تغذیه 12 ولت، جک برای اتصال برق، ترانزیستور (V در این مثالماسفت IRLB8721PbF استفاده می شود، اما می توان از یکی دیگر، به عنوان مثال، ترانزیستور دوقطبی TIP102 استفاده کرد. اگر از ترانزیستور دوقطبی استفاده می کنید، باید یک مقاومت اضافه کنید.

در ذیل نشان داده شده است نمودار الکتریکیاتصال همه اجزا به ماژول ESP8266:


توجه داشته باشید که اگر از ترانزیستور ماسفت استفاده می کنید، نیازی به مقاومت بین پایه 5 ماژول ESP8266 و ترانزیستور ندارید.

پروژه به طور کامل مونتاژ شده در عکس زیر نشان داده شده است:


ماژول ESP8266 را با استفاده از ماژول FTDI تغذیه کنید و منبع تغذیه 12 ولت را به جک وصل کنید. اگر از پین های توصیه شده در بالا برای اتصال استفاده کرده اید، نیازی به تغییر چیزی در طرح نخواهید داشت.

اکنون می توانید انگشت خود را روی سنسور قرار دهید: قفل باید در پاسخ به اثر انگشت شما کار کند. ویدئوی زیر پروژه قفل هوشمند خودکار را در عمل نشان می دهد:

توسعه بیشتر پروژه Smart Lock

در پروژه ما منتشر شد کنترل از راه دورقفل درب با استفاده از اثر انگشت شما

با خیال راحت آزمایش کنید، طرح و صحافی را اصلاح کنید. به عنوان مثال، می توانید یک قفل الکترونیکی درب را با یک رله برای کنترل قدرت چاپگر سه بعدی، بازوی رباتیک یا کوادکوپتر خود جایگزین کنید.

شما می توانید خود را توسعه دهید خانه هوشمندمثلاً یک سیستم آبیاری را در آردوینو از راه دور فعال کنید یا چراغ‌های اتاق را روشن کنید... فراموش نکنید که می‌توانید به طور همزمان تعداد تقریباً نامحدودی از دستگاه‌ها را با استفاده از Adafruit IO فعال کنید.

نظرات، سوالات خود را بنویسید و به اشتراک بگذارید تجربه شخصیزیر ایده ها و پروژه های جدید اغلب در بحث ها متولد می شوند!