قفل ترکیبی DIY در آردوینو. قفل هوشمند اتوماتیک و آردوینو

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

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

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

درس امروز نحوه استفاده از یک خواننده 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: اتصال تمام قطعات

در این درس یاد خواهیم گرفت که چگونه این کار را انجام دهیم سیستم ساده، که با استفاده از کلید الکترونیکی (Tag) قفل را باز می کند.

در آینده، می توانید عملکرد را اصلاح و گسترش دهید. به عنوان مثال، تابع "افزودن کلیدهای جدید و حذف آنها از حافظه" را اضافه کنید. در حالت پایه، اجازه دهید یک مثال ساده را در نظر بگیریم که در آن یک شناسه کلید منحصر به فرد در کد برنامه از پیش تنظیم شده است.

در این آموزش به موارد زیر نیاز خواهیم داشت:

برای اجرای پروژه باید کتابخانه های زیر را نصب کنیم:

2) اکنون باید یک Buzzer را وصل کنید که در صورت کارکرد کلید و باز شدن قفل یک سیگنال و با بسته شدن قفل سیگنال دوم به صدا در می آید.

زنگ را به ترتیب زیر وصل می کنیم:

آردوینو زنگ
5 ولت VCC
GND GND
پین 5 IO

3) درایو سروو به عنوان مکانیزم باز کردن قفل استفاده خواهد شد. بسته به اندازه مورد نیاز و نیرویی که درایو سروو ایجاد می کند، می توان هر درایو سروو را انتخاب کرد. سروو دارای 3 مخاطب است:

نحوه اتصال همه ماژول ها را در تصویر زیر واضح تر می بینید:

حالا اگر همه چیز وصل شد، می توانید به برنامه نویسی بروید.

طرح:

#عبارتند از #عبارتند از #عبارتند از // کتابخانه "RFID". #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522(SS_PIN, RST_PIN); uidDec طولانی بدون امضا، uidDecTemp. // برای ذخیره شماره تگ در فرمت اعشاری Servo servo. void setup() (Serial.begin(9600); Serial.println("در انتظار کارت..."); SPI.begin(); // مقدار دهی اولیه SPI / گذرگاه SPI Init. mfrc522.PCD_Init(); // مقداردهی اولیه MFRC522 / Init MFRC522 servo.attach(0) servo.write(0)) void loop() ( return; ) // یک تگ را انتخاب کنید اگر (! mfrc522.PICC_ReadCardSerial()) ( return; ) uidDec = 0;< mfrc522.uid.size; i++) { uidDecTemp = mfrc522.uid.uidByte[i]; uidDec = uidDec * 256 + uidDecTemp; } Serial.println("Card UID: "); Serial.println(uidDec); // Выводим UID метки в консоль. if (uidDec == 3763966293) // Сравниваем Uid метки, если он равен заданому то серва открывает. { tone(5, 200, 500); // Делаем звуковой сигнал, Открытие servo.write(90); // Поворациваем серву на угол 90 градусов(Отпираем какой либо механизм: задвижку, поворациваем ключ и т.д.) delay(3000); // пауза 3 сек и механизм запирается. tone(5, 500, 500); // Делаем звуковой сигнал, Закрытие } servo.write(0); // устанавливаем серву в закрытое сосотояние }

بیایید به طرح با جزئیات بیشتری نگاه کنیم:

برای اینکه بتوانید UID کارت (برچسب) را پیدا کنید، باید این طرح را در آردوینو بنویسید، مداری که در بالا توضیح داده شد را جمع آوری کنید و کنسول (Serial Port Monitoring) را باز کنید. وقتی تگ RFID را لمس می کنید، کنسول یک عدد نمایش می دهد

UID حاصل باید در خط زیر وارد شود:

اگر (uidDec == 3763966293) // Uid تگ را مقایسه کنید، اگر برابر با داده شده باشد، درایو سروو دریچه را باز می کند.

هر کارت یک شناسه منحصر به فرد دارد و تکرار نمی شود. بنابراین، هنگامی که کارتی را که شناسه آن را در برنامه تنظیم کرده اید ارائه می کنید، سیستم با استفاده از درایو سروو دسترسی را باز می کند.

ویدئو:

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

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

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

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

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

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

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

بخش دوم

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

با گشت و گذار در بازارهای کوچک چینی و 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 استفاده کردم. هر کسی که علاقه مند است می تواند به این کد زشت نگاه کند :)

عکس و فیلم



آردوینو و محرک


واحد قدرت


صفحه کلید


اسپانیولت (با یک پره فلزی به محرک متصل شده و برای زیبایی با هیت شرینک پوشانده شده است)

ویدئویی از روند عملکرد دستگاه: