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

قفل کد DIY در آردوینو


زمینه

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

با گشت و گذار در بازارهای کوچک چینی و ebay، چیزی ارزان و کم و بیش جدی پیدا نکردم و تصمیم گرفتم خودم آن را بسازم. فوراً می گویم که پلتفرم آردوینو به دلیل سادگی آن انتخاب شده است ، زیرا من اصلاً تجربه ای با میکروکنترلرها نداشتم.

روی در با خارج ازدرب باید دارای صفحه کلیدی باشد که رمز عبور روی آن وارد شده باشد و بقیه سازه باید در داخل محکم شود. یک سوئیچ نی برای کنترل بسته شدن کامل درب استفاده می شود. هنگام خروج از دفتر، شخص "*" را روی صفحه کلید فشار می دهد و بدون اینکه منتظر بماند درب بسته شود، به دنبال کار خود می رود، وقتی در کاملا بسته شد، سوئیچ نی بسته می شود و قفل بسته می شود. . درب با وارد کردن رمز 4 رقمی و فشار دادن "#" باز می شود.

تجهیزات جانبی

آردوینو UNO = 18 دلار
پروتوشیلد آردوینو + برد برد = 6 دلار
L293D = 1 دلار
بسته سیمی 30 عدد برای بردبرد = 4 دلار
2 سوکت RJ45 = 4 دلار
2 شاخه RJ45 = 0.5 دلار
محرک قفل مرکزی = 250 روبل.
سوئیچ نی = آزادانه از پنجره قدیمی پاره شده است.
چفت فلزی غول پیکر = رایگان
مسکن از هاب قدیمی D-LINK ساخته شده از آهن یک و نیم میلی متری = رایگان
منبع تغذیه از همان هاب D-LINK برای 12 و 5 ولت = نیز رایگان
یک دسته پیچ و مهره برای اتصال همه این موارد به بدن = 100 روبل.
کنترل از راه دور از دزدگیر= رایگان

مجموع: 33.5 دلار و 350 روبل.

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

آماده شدن برای مونتاژ

من می خواهم چند کلمه در مورد خرید یک عنصر کلیدی طراحی محرک بگویم. یک فروشگاه خودروی محلی به من دو نوع محرک پیشنهاد داد: "با دو سیم و با پنج." به گفته خانم فروشنده، آنها کاملاً یکسان بودند و تفاوت در تعداد سیم ها هیچ معنایی نداشت. با این حال، همانطور که بعدا مشخص شد، این چنین نیست! من یک دستگاه با دو سیم انتخاب کردم، آن را با 12 ولت تغذیه می کرد. طراحی پنج سیم دارای کلیدهای محدود کننده برای کنترل حرکت اهرم است. فهمیدم که اشتباه خریدم فقط وقتی آن را جدا کردم و برای تعویضش خیلی دیر شده بود. حرکت اهرم برای جمع کردن صحیح چفت خیلی کوتاه بود، بنابراین لازم بود کمی آن را اصلاح کنید، یعنی دو واشر لاستیکی را که حرکت اهرم محرک را کوتاه می کردند، بردارید. برای این کار باید بدنه را با اره معمولی از طول اره می کردند، زیرا واشر دوم داخل آن بود. نوار برق آبی، مانند همیشه، در آینده به ما در هنگام مونتاژ آن کمک کرد.

برای کنترل موتور محرک، ما از یک درایور موتور L293D استفاده کردیم که می تواند بار اوج تا 1200 میلی آمپر را تحمل کند، هنگامی که موتور محرک را متوقف کردیم، اوج بار به تنها 600 میلی آمپر افزایش یافت.

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

برنامه نويسي.

بنابراین، من تا به حال تجربه برنامه نویسی آردوینو را نداشتم. من از کارها و مقالات دیگران از سایت arduino.cc استفاده کردم. هر کسی که علاقه مند است می تواند به این کد زشت نگاه کند :)

عکس و فیلم

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

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

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

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

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

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

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

بخش دوم

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

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

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

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

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

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

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

سپس صفحه کلید ماتریسی را به مخاطبین 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 servo.attach(10); lcd.setCursor(0, 0) (lcd.clear) ( تاخیر (1)؛ در = KB.getNum (0, 0) (!KB.check(KEY_DOWN)) ( تاخیر(1)؛ ) در = KB.getNum ("*"); KB.getNum("*"); if (in == pass) ( if (in == pass) ( if (in == pass) ( if (in == pass) ( lcd.clear(); lcd.setCursor (0, 0); ")؛ تن (13، 300، 700)؛ نگارش دیجیتال (g، LOW)، تاخیر (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 بدون لحیم کاری

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

قفل مشابهی با فشار دادن دکمه ای روی گوشی هوشمند خود باز می شود. خوشبختانه گوشی‌های هوشمند و تبلت‌ها وارد زندگی روزمره ما شده‌اند. در برخی موارد، "قفل های هوشمند" به "سرویس های ابری" مانند 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 fingerID = 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 فعال کنید.

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