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

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

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

یک تریگر واکنشی جدید از بخش 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 فعال کنید.

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

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

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

مرحله 1: فهرست مواد





برای مونتاژ قفل الکترونیکی در آردوینو به مواد زیر نیاز دارید:

الکترونیک:

  • آداپتور دیواری 5 ولت

اجزاء:

  • 6 عدد پیچ ​​بست
  • مقوا
  • سیم ها

ابزار:

  • آهن لحیم کاری
  • تفنگ چسب
  • مته
  • مته
  • مته سوراخ پایلوت
  • چاقوی لوازم التحریر
  • کامپیوتر با برنامه آردوینو IDE

مرحله 2: نحوه عملکرد قفل

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

اهرم سروو متصل به چفت آن را می بندد (0 درجه) و باز می کند (60 درجه)، با استفاده از دستورات دریافت شده از طریق ماژول بلوتوث.

مرحله 3: نمودار سیم کشی


اجازه دهید ابتدا سروو را به برد آردوینو وصل کنیم (توجه داشته باشید که اگرچه من از برد آردوینو نانو استفاده کردم، برد Uno دقیقاً همان پین اوت را دارد).

  • سیم قهوه ای سروو در حال اتصال به زمین است، آن را در آردوینو به زمین وصل می کنیم
  • سیم قرمز یک امتیاز مثبت است، ما آن را به کانکتور 5 ولت آردوینو وصل می کنیم
  • سیم نارنجی پین منبع درایو سروو است، آن را به پایه 9 در آردوینو وصل کنید

من به شما توصیه می کنم قبل از شروع مونتاژ، عملکرد سروو را بررسی کنید. برای این کار در برنامه Arduino IDE در مثال ها گزینه Sweep را انتخاب کنید. پس از اطمینان از کارکرد سروو می توانیم ماژول بلوتوث را وصل کنیم. شما باید پایه rx ماژول بلوتوث را به پایه tx آردوینو و پایه tx ماژول را به پایه rx آردوینو وصل کنید. اما هنوز این کار را نکنید! هنگامی که این اتصالات لحیم شوند، نمی توانید هیچ کدی را در آردوینو آپلود کنید، بنابراین ابتدا همه کدهای خود را دانلود کنید و سپس اتصالات را لحیم کنید.

در اینجا نمودار اتصال بین ماژول و میکروکنترلر آمده است:

  • ماژول Rx – برد Tx آردوینو
  • ماژول Tx - برد Rx
  • Vcc (ترمینال مثبت) ماژول 3.3 ولت برد آردوینو است
  • اتصال زمین به زمین (زمین به زمین)

اگر توضیح برای شما مبهم به نظر می رسد، لطفاً نمودار سیم کشی ارائه شده را دنبال کنید.

مرحله 4: تست

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

مرحله 5: مسکن برق



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

ابعاد کنار کیس:

  • پایین - 7.5x4 سانتی متر
  • پوشش - 7.5x4 سانتی متر
  • دیوار سمت چپ - 7.5x4 سانتی متر
  • دیوار سمت راست - 7.5x4 سانتی متر
  • دیوار جلو - 4x4 سانتی متر (با شکاف برای سیم برق)
  • دیوار پشتی - 4x4 سانتی متر

مرحله 6: درخواست

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

من مطمئن هستم که برخی از شما این فرصت را دارید که این را بررسی کنید. برای اندروید اپلیکیشن بلوتوث ترمینال و برای ویندوز تراترم را دانلود کنید. سپس باید ماژول را به تلفن هوشمند خود وصل کنید، نام باید linvor باشد، رمز عبور باید 0000 یا 1234 باشد. پس از برقراری جفت شدن، آن را باز کنید برنامه نصب شده، به گزینه ها بروید و "ایجاد اتصال (ناامن)" را انتخاب کنید. اکنون گوشی هوشمند شما یک مانیتور رابط سریال Arduino است، به این معنی که می توانید داده ها را با کنترلر تبادل کنید.

اگر عدد 0 را وارد کنید، در بسته می شود و پیام "در بسته است" روی صفحه نمایش گوشی هوشمند ظاهر می شود.
اگر عدد 1 را وارد کنید، درب را باز می بینید و صفحه نمایش "در باز است".
روشن فرآیند ویندوزبه همین ترتیب، با این تفاوت که باید برنامه TeraTerm را نصب کنید.

مرحله 7: قفل را نصب کنید


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

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

مرحله 8: قدرت


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

مرحله 9: کد

#شامل Servo myservo; int pos = 0; int state; int flag=0; void setup() (myservo.attach(9); Serial.begin(9600); myservo.write(60); delay(1000); ) void loop() (if(Serial.available() > 0) (وضعیت = Serial.read( flag=0; ) // اگر حالت "0" باشد، موتور DC خاموش می شود اگر (state == "0") (myservo.write(8); delay(1000); Serial. println("Door Locked"); other if (state == "1") (myservo.write(55); delay(1000); Serial.println("Door Unlocked"); )

مرحله 10: قفل مبتنی بر آردوینو کامل شد

از قلعه خود لذت ببرید با کنترل از راه دورو فراموش نکنید که دوستان خود را "به طور تصادفی" در یک اتاق حبس کنید.

در این درسما انجام دادن را یاد خواهیم گرفت سیستم ساده، که با استفاده از کلید الکترونیکی (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); // устанавливаем серву в закрытое сосотояние }

برای (بایت i = 0؛ i

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

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

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

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

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

ویدئو: ارائه دهندهکانال یوتیوب

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

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

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

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

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

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

قسمت دوم

من، مانند اکثر افرادی که یکی دارند، کلبه را با این کلمات مرتبط می‌کنم: آرامش، کباب کردن، راحتی و سایر حرکات دلپذیر برای روح و بدن، اما یک نقطه ضعف نیز وجود دارد: باغبانی، حفاری، تعمیرات، ساخت و ساز و غیره.

10 سال است که من و خانواده ام در حال تلاش برای بهبود و ایجاد حداکثر راحتی در خانه خود هستیم. ما می سازیم، تعمیر می کنیم و غیره. خانه، انبار، حمام... و بالاخره به حصار خیابان، دروازه و دروازه رسید. این کار را با توجه به وجدان، بودجه و راحتی انجام دهید.

پس از بحث در مورد جزئیات، تصمیم بر این شد که گیت اتوماتیک باشد و گیت برخی از ویژگی های یک سیستم کنترل دسترسی را داشته باشد. در مورد گیت، با خرید کیت اتوماسیون (درایو، رک، ریموت کنترل و غیره) مشکل حل شد، اما در مورد گیت لازم بود برخی از مشکلات حل شود که در ادامه در مورد آنها توضیح خواهیم داد.

وظایف به شرح زیر بود:

  1. قفل قرار بود با قفل قبلی کار کند ویدیوی نصب شدهاینترکام (بدون خروج از خانه در را باز کنید)
  2. بتوانید با کلید معمولی و بدون کلید از خیابان و حیاط در را باز کنید.
  3. در بودجه باقی مانده تا 5000 روبل قرار می گیرد.

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

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

خب حالا از حرف تا عمل:

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

نمودار اتصال صفحه کلید

نشانگر LED اضافی (سفید، سبز، قرمز) پانل با سیگنال های صفحه کلید (ورودی، رمز عبور صحیح، باز بودن در، رد شد).

  • پین 9 زرد
  • پین 10 سبز
  • پین 11 قرمز

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

خب، آخر هفته است، من به ویلا رفتم.

برای باز کردن قفل الکترومکانیکی به 12 ولت نیاز دارید. منبع تغذیه MK 5 ولت بود، تصمیم بر این بود که یک مبدل تقویت کننده dc-dc از پادشاهی میانه برای قلعه نصب شود. همه چیز را وصل کردم و شروع به بررسی کردم، کار می کند، اما وقتی به شیر برقی قفل ولتاژ داده شد، Dunya دوباره راه اندازی شد و باعث اتصال برق شد. علاوه بر این، پس از اتصال پنل تماس از اینترکام تصویری به قفل، وقتی دکمه باز کردن در را فشار دادید، هیچ اتفاقی نیفتاد، جریان کمی به قفل وارد شد. راه اندازی سیم های جدید یک گزینه نیست. تصمیم گرفتم یک رله دیگر برای پنل اضافه کنم و یک منبع تغذیه 12 ولت اضافی نصب کنم. برای قلعه پس از تجزیه / مونتاژ، همه چیز کار کرد، MK راه اندازی مجدد متوقف شد. من همه چیز را در یک جعبه اتصال ضد رطوبت پنهان کردم، سیم ها، چسب، سیلیکون و آماده را پنهان کردم!