قفل کد آردوینو قفل الکترونیکی در آردوینو راه اندازی قفل الکترونیکی
از میزبان کانال یوتیوب "AlexGyver" خواسته شد تا با دستان خود قفل الکترونیکی بسازد. به سری ویدیوهای قفل الکترونیکی در آردوینو خوش آمدید. در طرح کلیاستاد این ایده را توضیح خواهد داد.
چندین گزینه برای ایجاد یک سیستم وجود دارد قفل الکترونیکی. اغلب برای قفل کردن درها، کشوها و کابینت ها استفاده می شود. و همچنین برای ایجاد مخفیگاه و گاوصندوق های مخفی. بنابراین، شما باید طرحی بسازید که کار با آن راحت باشد و بتواند ساختار سیستم را از داخل و خارج به وضوح و با جزئیات نشان دهد. بنابراین تصمیم گرفتم یک قاب با در بسازم. برای این شما نیاز خواهید داشت پرتو مربع 30 x 30. تخته سه لا 10mm. لولای درب. در ابتدا می خواستم انجام دهم جعبه تخته سه لا، اما به یاد آورد که اتاق پر از قطعات یدکی بود. جایی برای قرار دادن چنین جعبه ای وجود ندارد. بنابراین ماکت ساخته خواهد شد. اگر کسی بخواهد یک قفل الکترونیکی برای خود نصب کند، با نگاه کردن به طرح، می تواند به راحتی همه چیز را تکرار کند.
در این فروشگاه چینی هر آنچه برای یک قلعه نیاز دارید پیدا خواهید کرد.
هدف توسعه هر چه بیشتر است طرح های موثرو سیستم عامل برای قفل های الکترونیکی. می توانید از این نتایج برای نصب این سیستم ها بر روی درها، کشوها، کابینت ها و مخفیگاه های خود استفاده کنید.
درب آماده است. اکنون باید نحوه باز و بسته شدن الکترونیکی را دریابیم. یک چفت برقی قدرتمند از aliexpress برای این اهداف مناسب است (پیوند به فروشگاه بالا). اگر به ترمینال ها ولتاژ بدهید باز می شود. مقاومت سیم پیچ تقریبا 12 اهم است، به این معنی که در ولتاژ 12 ولت سیم پیچ حدود 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: اتصال تمام قطعات
ارتباط با برد Arduino Uno بسیار ساده است. ابتدا برق را هم به خواننده و هم به نمایشگر وصل کنید.
مراقب باشید، خواننده RFID باید به خروجی 3.3 ولت از وصل شود آردوینو اونویا خراب می شود.
از آنجایی که صفحه نمایش می تواند با ولتاژ 3.3 ولت نیز کار کند، VCC را از هر دو ماژول به ریل مثبت تخته نان وصل می کنیم. سپس این گذرگاه به خروجی 3.3 ولت آردوینو Uno متصل می شود. سپس هر دو پایه (GND) را به گذرگاه اتصال زمین نان برد وصل می کنیم. سپس باس GND برد برد را به آردوینو GND وصل می کنیم.
صفحه نمایش OLED → آردوینو
SCL → آنالوگ پین 5
SDA → آنالوگ پین 4
خواننده RFID → آردوینو
RST → پین دیجیتال 9
IRQ ← متصل نیست
MISO → پین دیجیتال 12
MOSI → پین دیجیتال 11
SCK → پین دیجیتال 13
SDA → پین دیجیتال 10
ماژول خواننده RFID از رابط SPI برای برقراری ارتباط با آردوینو استفاده می کند. بنابراین ما قصد داریم از پین های سخت افزاری SPI آردوینو UNO استفاده کنیم.
پایه RST به پین دیجیتال 9 می رود. پین IRQ قطع می ماند. پین MISO به پین دیجیتال 12 می رود. پین MOSI به پین دیجیتال 11 می رود. پین SCK به پین دیجیتال 13 می رود و در نهایت پین SDA به پین دیجیتال 10 می رود. همین.
خواننده RFID متصل است. اکنون باید صفحه نمایش OLED را با استفاده از رابط I2C به آردوینو متصل کنیم. بنابراین پین SCL روی نمایشگر به پین آنالوگ پین 5 و پین SDA روی نمایشگر به پین آنالوگ 4 می رود. اگر اکنون پروژه را روشن کرده و کارت RFID را نزدیک خواننده قرار دهیم، می بینیم که پروژه خوب کار می کند
مرحله 5: کد پروژه
برای اینکه کد پروژه کامپایل شود، باید چند کتابخانه قرار دهیم. اول از همه، ما به کتابخانه MFRC522 Rfid نیاز داریم.
برای نصب آن به طرح -> شامل کتابخانه ها -> مدیریت کتابخانه ها(مدیریت کتابخانه). MFRC522 را پیدا کرده و نصب کنید.
همچنین برای نمایش به کتابخانه Adafruit SSD1306 و کتابخانه Adafruit GFX نیاز داریم.
هر دو کتابخانه را نصب کنید. کتابخانه Adafruit SSD1306 نیاز به اصلاح کمی دارد. به پوشه بروید آردوینو -> کتابخانه هاپوشه Adafruit SSD1306 را باز کرده و کتابخانه را ویرایش کنید Adafruit_SSD1306.h. خط 70 را کامنت کنید و خط 69 را حذف کنید زیرا وضوح صفحه نمایش 128x64 است.
ابتدا مقدار تگ RFID را که آردوینو باید تشخیص دهد، اعلام می کنیم. این یک آرایه از اعداد صحیح است:
کد بین المللی = (69,141,8,136); // UID
سپس خواننده و نمایشگر RFID را مقداردهی اولیه می کنیم:
Rfid.PCD_Init(); display.begin(SSD1306_SWITCHCAPVCC، 0x3C)؛
پس از آن، در تابع حلقه، برچسب روی خواننده را هر 100 میلی ثانیه بررسی می کنیم.
اگر برچسبی روی خواننده وجود داشته باشد، UID آن را می خوانیم و آن را روی نمایشگر چاپ می کنیم. سپس UID برچسبی را که میخوانیم با مقدار ذخیره شده در متغیر کد مقایسه میکنیم. اگر مقادیر یکسان باشد، پیغام UNLOCK را نمایش می دهیم، در غیر این صورت این پیام را نمایش نمی دهیم.
If(match) ( Serial.println("\nاین کارت را می شناسم!"); printUnlockMessage(); )else ( Serial.println("\nکارت ناشناخته"); )
البته می توانید این کد را طوری تغییر دهید که بیش از 1 مقدار UID ذخیره شود تا پروژه تگ های RFID بیشتری را شناسایی کند. این فقط یک مثال است.
کد پروژه:
#شامل display.setCursor(10,0);
display.print("RFID Lock"); . برای باز و بسته کردن در خدمت می کند. این پروژه استفاده از سه مکانیسم مختلف را بررسی می کند: سروو بزرگ هستند، کوچک هستند. بسیار جمع و جور، و همراه با یک پیچ سنگین - یک گزینه عالی) هر یک از این عناصر را می توان از سیستم حذف کرد: قفل برای کارکردن با باتری در حالت صرفه جویی در مصرف انرژی طراحی شده است (فعال کردن غیرفعال کردن: تنظیم sleep_enable)، یعنی: هنگامی که سیستم در حالت خواب نیست، دکمه تغییر رمز عبور (دکمه پنهان) را فشار دهید. خودمان را در می یابیم حالت تغییر رمز عبور: هنگامی که سیستم در حالت خواب نیست (با دکمه بیدار می شود یا خواب غیرفعال است)، برای ورود به حالت ورود رمز عبور، * را فشار دهید. در این مقاله به شما خواهم گفت که چگونه یک قفل ترکیبی از آردوینو بسازید. برای این کار به LED های قرمز و سبز، زنگ، آردوینو نانو، صفحه نمایش LCD با مبدل I2C، درایو سروو و صفحه کلید ماتریس 4×4 نیاز داریم. هنگامی که روشن است، صفحه نمایش "کد را وارد کنید" خواهد نوشت. LED قرمز روشن می شود، و چراغ سبز خاموش می شود، سروو روی 0 درجه تنظیم می شود. با وارد کردن اعداد، * روی نمایشگر روشن می شود. اگر کد را اشتباه وارد کنید، صفحه نمایش "کد را وارد کنید" مینویسد. اگر کد درست باشد، یک بوق به صدا در میآید، سروو 180 درجه میچرخد و صفحه نمایش «باز» را نشان میدهد. LED سبز روشن می شود، و قرمز خاموش می شود. پس از 3 ثانیه، سروو به موقعیت اولیه خود باز می گردد، LED قرمز روشن می شود و LED سبز خاموش می شود، صفحه نمایش "بستن" را می نویسد. سپس صفحه نمایش "کد را وارد کنید". حالا در مورد طرح ابتدا آردوینو را با سیم به برد برد (کنتاکت های برق) وصل می کنیم. سپس صفحه کلید ماتریسی را به مخاطبین D9 - D2 وصل می کنیم. سپس سروو. آن را به پایه 10 وصل می کنیم. LED قرمز به پین 11. سبز - به پین 12. زنگ - به پین 13. حالا طرح را آپلود کنید. #شامل )))))) برد آردوینو مقاومت E6 E7 اتفاقاً این اتفاق افتاد که در محل کار تصمیم گرفتیم یک قفل ترکیبی را روی درب خود نصب کنیم، زیرا دائماً وارد می شویم - از دفتر خارج می شویم که درب آن باید به طور مداوم در غیاب ساکنان بسته شود. کلیدها اغلب در داخل فراموش می شوند. به طور کلی، ما تصمیم گرفتیم که قفل ترکیبی یک راه حل عالی است. مجموع: 33.5 دلار و 350 روبل. نه چندان کم، می گویید و قطعا حق با شماست، اما برای لذت باید هزینه کنید! و همیشه خوب است که چیزی را با دستان خود جمع کنید. علاوه بر این، اگر از MK بدون آردوینو استفاده کنید، می توان هزینه طراحی را تا حد زیادی کاهش داد. ویدئویی از روند عملکرد دستگاه: display.setTextSize(2);
رمز عبور متشکل از اعداد را وارد کنید ( حداکثر 10 رقم!!!)
اگر سیستم خواب است و به طور دورهای برای بررسی EVENT بیدار میشود، * را فشار داده و نگه دارید تا LED قرمز روشن شود.
حالت رمز عبور:همین. از قفل ترکیبی لذت ببرید!
بدون لحیم کاری فهرست عناصر رادیویی
تعیین
تایپ کنید
فرقه
مقدار توجه داشته باشید خرید کنید
دفترچه یادداشت من
E1 1
آردوینو نانو 3.0
5 ولت
به دفترچه یادداشت
E8، E9 2
220 اهم
5 ولت
SMD
LED 1
AL102G
5 ولت
قرمز
LED 1
AL307G
5 ولت
سبز
E3 نمایشگر LCD 1
با رابط I2C
5 ولت
نور پس زمینه سبز
E5 سروو 1
SG90
5 ولت
180 درجه
E2 آردوینو نانو 3.0 1
زنگ
5 ولت
بو
E4 صفحه کلید 1
4X4
5 ولت
ماتریس
خیر تخته نان 1
640 امتیاز با گشت و گذار در بازارهای کوچک چینی و ebay، چیزی ارزان و کم و بیش جدی پیدا نکردم و تصمیم گرفتم خودم آن را بسازم. من فوراً می گویم که پلت فرم آردوینو به دلیل سادگی آن انتخاب شده است ، زیرا من اصلاً تجربه ای با میکروکنترلرها نداشتم.
در قسمت بیرونی درب باید یک صفحه کلید وجود داشته باشد که رمز عبور روی آن درج شده باشد و بقیه ساختار باید در داخل ثابت شود. یک سوئیچ نی برای کنترل بسته شدن کامل درب استفاده می شود. هنگام خروج از دفتر، شخص "*" را روی صفحه کلید فشار می دهد و بدون اینکه منتظر بماند درب بسته شود، به دنبال کار خود می رود، وقتی در کاملا بسته شد، سوئیچ نی بسته می شود و قفل بسته می شود. . درب با وارد کردن یک رمز عبور 4 رقمی و فشار دادن "#" باز می شود. لوازم جانبی
آردوینو UNO = 18 دلار
آردوینو پروتوشیلد + برد برد = 6 دلار
L293D = 1 دلار
بسته سیمی 30 عدد برای بردبرد = 4 دلار
2 سوکت RJ45 = 4 دلار
2 شاخه RJ45 = 0.5 دلار
محرک قفل مرکزی = 250 روبل.
سوئیچ نی = آزادانه از پنجره قدیمی پاره شده است.
چفت فلزی غول پیکر = رایگان
مسکن از هاب قدیمی D-LINK ساخته شده از آهن یک و نیم میلی متری = رایگان
منبع تغذیه از همان هاب D-LINK برای 12 و 5 ولت = نیز رایگان
یک دسته پیچ و مهره برای اتصال همه این موارد به بدنه = 100 روبل.
پانل کنترل دزدگیر امنیتی = رایگان. آماده شدن برای مونتاژ
من می خواهم چند کلمه در مورد خرید یک عنصر کلیدی طراحی محرک بگویم. یک فروشگاه خودروی محلی به من دو نوع محرک پیشنهاد داد: "با دو سیم و با پنج." به گفته خانم فروشنده، آنها کاملاً یکسان بودند و تفاوت در تعداد سیم ها مطلقاً معنایی نداشت. با این حال، همانطور که بعدا مشخص شد، این چنین نیست! من یک دستگاه با دو سیم را انتخاب کردم، آن را با 12 ولت تغذیه می کرد. طراحی پنج سیم دارای کلیدهای محدود کننده برای کنترل حرکت اهرم است. فهمیدم که اشتباه خریدم فقط وقتی آن را جدا کردم و برای تعویضش خیلی دیر شده بود. حرکت اهرم برای جمع کردن قفل به طور معمول خیلی کوتاه بود، بنابراین لازم بود کمی آن را اصلاح کنید، یعنی دو واشر لاستیکی را که حرکت اهرم محرک را کوتاه می کردند، بردارید. برای این کار باید بدنه را با یک اره معمولی از طول اره می کردند، زیرا واشر دوم داخل آن بود. نوار برق آبی، مانند همیشه، در آینده به ما در هنگام مونتاژ آن کمک کرد.
برای کنترل موتور محرک، ما از یک درایور موتور L293D استفاده کردیم که می تواند بار اوج تا 1200 میلی آمپر را تحمل کند، هنگامی که موتور محرک را متوقف کردیم، اوج بار به تنها 600 میلی آمپر افزایش یافت.
مخاطبین صفحه کلید، بلندگو و دو ال ای دی از پنل کنترل هشدار امنیتی حذف شدند. کنترل از راه دور و دستگاه اصلی قرار بود با استفاده از جفت پیچ خورده و کانکتورهای RJ45 متصل شوند. برنامه نویسی
بنابراین، من تا به حال هیچ تجربه ای در برنامه نویسی آردوینو نداشتم. من از کارها و مقالات دیگران از سایت arduino.cc استفاده کردم. هر کسی که علاقه مند است می تواند به این کد زشت نگاه کند :) عکس و فیلم
آردوینو و محرک
واحد قدرت
صفحه کلید
اسپانیولت (با یک پره فلزی به محرک متصل شده و برای زیبایی با هیت شرینک پوشانده شده است)