در این پروژه، ما به شما آموزش میدهیم که چگونه با استفاده از برد آردوینو، یک قفل درب هوشمند بسازید که تنها با نزدیک کردن یک تگ یا کارت RFID خاص باز میشود و تا زمانی که کارت مقابل گیرنده قفل قرار نگیرد ، بسته باقی میماند.
برای ساخت این قفل، شما به قطعاتی مانند برد آردوینو، ماژول RFID، رله، قفل برقی و چند قطعه الکترونیکی دیگر نیاز دارید. با استفاده از نرمافزار آردوینو، شما میتوانید برنامهای بنویسید که به برد آردوینو دستور دهد تا با خواندن اطلاعات از تگ RFID، قفل را باز یا بسته کند.
RFID مخفف عبارت Radio Frequency Identification به معنای شناسایی رادیویی است. این فناوری بیسیم در بسیاری از صنایع برای ردیابی افراد، کنترل دسترسی، مدیریت زنجیره تأمین، ردیابی کتابهای کتابخانه، سیستمهای عوارضی و غیره استفاده میشود.
یک گیرنده RFID دستگاهی است که برای جمعآوری اطلاعات از یک تگ RFID استفاده میشود. این تگها برای ردیابی اشیاء مختلف به کار میروند. امواج رادیویی برای ارسال دادهها از تگ به گیرنده استفاده میشوند.
یک سیستم RFID از دو بخش اصلی تشکیل شده است: یک ترانسپوندر یا تگ که روی شیء موردنظر یا همان کارت شناسایی قرار دارد و یک ترنسیور یا گیرنده.
گیرنده RFID شامل یک ماژول فرکانس رادیویی، یک واحد کنترل و یک سیمپیچ آنتن است که یک میدان الکترومغناطیسی با فرکانس بالا تولید میکند. از سوی دیگر، تگ معمولاً یک قطعه غیرفعال است که فقط شامل یک آنتن و یک میکروچیپ الکترونیکی است، بنابراین وقتی به میدان الکترومغناطیسی گیرنده نزدیک میشود، به دلیل القای الکترومغناطیسی، ولتاژی در سیمپیچ آنتن آن ایجاد میشود و این ولتاژ به عنوان منبع تغذیه برای میکروچیپ عمل میکند.
این توضیحی در مورد اصول اولیه کارکرد RFID بود. اکنون بیایید ببینیم چگونه میتوانیم از RFID با آردوینو استفاده کنیم و قفل درب RFID خود را بسازیم. ما از تگهای مبتنی بر پروتکل MIFARE و گیرنده RFID MFRC522 استفاده خواهیم کرد که قیمت بسیار کمی دارند.
این تگها دارای 1 کیلوبایت حافظه و یک میکروچیپ میباشند که میتواند عملیات محاسباتی انجام دهد. فرکانس کاری آن 13.56 مگاهرتز است و فاصله عملیاتی تا 10 سانتیمتر بسته به هندسه آنتن دارد. اگر یکی از این تگها را به یک منبع نور نزدیک کنیم، میتوانیم آنتن و میکروچیپی را که قبلاً توضیح داده شد، ببینیم.
ولتاژ ورودی: 3.3 ولت
فرکانس: 13.56 مگاهرتز
برای پروژه ساخت دربازکن RFID با آردوینو، به قطعات زیر نیاز دارید:
مغز متفکر پروژه است و وظیفه کنترل تمام عملیات را بر عهده دارد.
این ماژول سیگنالهای RFID را میخواند و به آردوینو منتقل میکند.
این تگها حاوی اطلاعاتی هستند که توسط ماژول RFID خوانده میشوند.
برای فرمان باز کردن در استفاده میشود. در اینجا رله از نوع بوبین 5 ولت استفاده شده تا از همان تغذیهی آردوینو بتوان استفاده کرد.
برای اتصال آسان و سریع قطعات به کار میرود.
برای ایجاد ارتباط بین قطعات مختلف استفاده میشود.
برای تغذیه آردوینو و آپلود برنامه روی آن استفاده میشود.
Arduino IDE، این نرمافزار محیط برنامهنویسی آردوینو، برای نوشتن و آپلود کد روی برد آردوینو استفاده میشود.
تا این مرحله، شما با قطعات مورد نیاز برای ساخت دربازکن RFID آشنا شدید. با تهیه این قطعات و نصب نرمافزار آردوینو، آماده شروع پروژه هستید. در مراحل بعدی، به نحوه اتصال قطعات به یکدیگر و نوشتن برنامه برای کنترل قفل خواهیم پرداخت.
ماژول گیرنده RFID از پروتکل SPI که ک پروتکل ارتباطی سریال است برای برقراری ارتباط با برد آردوینو استفاده میکند به همین دلیل باید اتصالات را مطابق شماتیک انجام دهیم. توجه داشته باشید که باید پین VCC ماژول را به 3.3 ولت آردوینو متصل کنیم، اما برای سایر پینها نیازی به نگرانی نیست زیرا آنها تا 5 ولت را تحمل میکنند.
قبل از دانلود کتابخانه، باید محیط برنامهنویسی آردوینو (Arduino IDE) را نصب کنید.
این کتابخانه توسط Miguel Balboa ایجاد شده است و برای کار با ماژولهای RFID MFRC522 در آردوینو طراحی شده است. کتابخانه RFID را از لینک (https://github.com/miguelbalboa/rfid) میتوانید دانلود کنید.
در IDE آردوینو به این مسیر بروید: Sketch > Include Library > Add .ZIP Library
فایل زیپ دانلود شده را انتخاب کنید تا لایبرری نصب شود.
کتابخانه RFID شامل مجموعهای از توابع و کلاسها است که به شما امکان میدهد به راحتی با ماژول RFID MFRC522 ارتباط برقرار کرده و اطلاعات را از تگهای RFID بخوانید. به عبارت دیگر، این کتابخانه کار با سختافزار را برای شما سادهتر میکند و شما میتوانید به جای نوشتن کدهای پیچیده برای کنترل ماژول، از توابع آماده کتابخانه استفاده کنید.
اطمینان حاصل کنید که پوشه کتابخانه را در مسیر صحیح قرار دادهاید. در غیر این صورت، آردوینو IDE قادر به پیدا کردن کتابخانه نخواهد بود.
اکنون که مدار شما آماده است، مراحل زیر را دنبال کنید:
Go to File > Examples > MFRC522 > DumpInfo > Upload the code.
UID یک کد منحصر به فرد است که به هر کارت RFID اختصاص داده میشود. این کد مانند اثر انگشت برای کارت شما عمل میکند و به شما امکان میدهد تا کارت خود را از کارتهای دیگر تشخیص دهید.
اکنون به مرحله نهایی پروژه یعنی نوشتن و آپلود برنامه روی برد آردوینو رسیدیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | #include <SPI.h> #include <MFRC522.h> #define SS_PIN 10 #define RST_PIN 9 #define LED_G 5 //define green LED pin #define LED_R 4 //define red LED #define RELAY 3 //relay pin #define BUZZER 2 //buzzer pin #define ACCESS_DELAY 2000 #define DENIED_DELAY 1000 MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance. void setup() { Serial.begin(9600); // Initiate a serial communication SPI.begin(); // Initiate SPI bus mfrc522.PCD_Init(); // Initiate MFRC522 pinMode(LED_G, OUTPUT); pinMode(LED_R, OUTPUT); pinMode(RELAY, OUTPUT); pinMode(BUZZER, OUTPUT); noTone(BUZZER); digitalWrite(RELAY, LOW); Serial.println("Put your card to the reader..."); Serial.println(); } void loop() { // Look for new cards if ( ! mfrc522.PICC_IsNewCardPresent()) { return; } // Select one of the cards if ( ! mfrc522.PICC_ReadCardSerial()) { return; } //Show UID on serial monitor Serial.print("UID tag :"); String content= ""; byte letter; for (byte i = 0; i < mfrc522.uid.size; i++) { Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "); Serial.print(mfrc522.uid.uidByte[i], HEX); content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ")); content.concat(String(mfrc522.uid.uidByte[i], HEX)); } Serial.println(); Serial.print("Message : "); content.toUpperCase(); if (content.substring(1) == "83 23 38 BB") //change here the UID of the card/cards that you want to give access { Serial.println("Authorized access"); Serial.println(); delay(500); digitalWrite(RELAY, HIGH); digitalWrite(LED_G, HIGH); delay(ACCESS_DELAY); digitalWrite(RELAY, LOW); digitalWrite(LED_G, LOW); } else { Serial.println(" Access denied"); digitalWrite(LED_R, HIGH); tone(BUZZER, 300); delay(DENIED_DELAY); digitalWrite(LED_R, LOW); noTone(BUZZER); } } |
در محیط آردوینو از طریق منوی File و انتخاب New Sketch یک پروژهی جدید بسازید و کدی که برای کنترل قفل RFID شما نوشته شده است را در محیط برنامه نویسی آردوینو کپی کنید. این کد شامل دستوراتی است که به آردوینو می گوید چگونه با ماژول RFID ارتباط برقرار کند، اطلاعات کارت را بخواند و بر اساس آن، قفل را باز و بسته کند.
پس از کپیکردن کد، دکمه وریفای و سپس آپلود را در محیط آردوینو بزنید تا کد به برد آردوینو منتقل شود.
برد آردوینو را به منبع تغذیه (مانند باتری) متصل کنید.
قفل برقی را به خروجی آردوینو متصل کنید. دقت کنید که اتصال صحیح مثبت و منفی قفل برقی بسیار مهم است.
ماژول RFID را در قسمت بیرونی درب نصب کنید تا بهراحتی بتوان کارت را به آن نزدیک کرد.
وقتی کارتی با UID مشخص (که قبلاً در برنامه تعریف شده است) به ماژول RFID نزدیک شود، آردوینو UID کارت را خوانده و با UID ذخیره شده در برنامه مقایسه میکند. اگر UIDها یکسان باشند، آردوینو به قفل برقی فرمان میدهد تا قفل را باز کند. در غیر این صورت، هیچ اتفاقی نمیافتد.
با طی کردن این مراحل، شما توانستهاید یک قفل درب هوشمند مبتنی بر RFID بسازید. این پروژه یک شروع عالی برای ورود به دنیای اتوماسیون و اینترنت اشیا است.
اکنون شما یک قفل درب هوشمند ساختهاید که با استفاده از کارتهای RFID کار میکند. این پروژه نه تنها یک دستاورد فنی محسوب میشود، بلکه میتواند کاربردهای عملی زیادی نیز داشته باشد.
حالا که شما اصول کار با آردوینو و ماژولهای RFID را یاد گرفتید، میتوانید پروژه خود را گسترش دهید و ویژگیهای جدیدی به آن اضافه کنید. در اینجا چند ایده برای توسعه پروژه شما ارائه شده است:
فناوری RFID با ارائه راهکارهایی سریع، دقیق و بدون نیاز به تماس فیزیکی، تحولی شگرف در حوزه شناسایی و ردیابی اشیاء ایجاد کرده است. این فناوری به دلیل مزایای فراوان خود، از قبیل سرعت بالا، دقت بالا و قابلیت خواندن چندین تگ به صورت همزمان، در صنایع مختلف از جمله تولید، بهداشت و درمان، لجستیک و امنیت مورد استفاده گسترده قرار میگیرد.
با این حال، همانند هر فناوری دیگری، RFID نیز با چالشهایی مانند امنیت و استانداردسازی روبرو است. با پیشرفت روزافزون فناوری و تلاشهای مستمر برای رفع این چالشها، انتظار میرود که شاهد توسعه روزافزون کاربردهای RFID در آینده باشیم. کاربردهایی مانند اینترنت اشیا، بلاکچین و واقعیت افزوده، پتانسیلهای جدیدی را برای این فناوری فراهم میکنند. برای کسب اطلاعات بیشتر در مورد فناوری RFID و کاربردهای متنوع آن، مطالعه مقالات و منابع علمی معتبر توصیه میشود.
منبع : instructables
سلام من همه کاری کردم اما وقتی کارت را به ماژول نزدیک میکنم کدی برام نمیاره
سلام یه سوال داشتم من کتابخانه هارو دانلود دارم ولی ارور کتابخونه بهم میده
سلام ممنون از شما
میشه این کد با esp8266 راه اندازی کرد؟
سلام. بله اما ممکنه برخی از قسمت های کد نیاز به تغییر داشته باشه.
نویسنده شو !
سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.