آردوینوپروژه آردوینو

راه اندازی صفر تا صد ماژول RFID کمک آردوینو

مقدمه

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

نمایی از برد راه اندازی ماژول آر اف آی دی
نمایی از برد راه اندازی ماژول آر اف آی دی

در این کاربرد محصول به تگ RFID مجهز می شود و زمانی که یک شخص فروشگاه را با تگ RFID ترک می کند آلارم به صدا در می آید و می توان از دزدی جلوگیری کرد. سیستم های RFID به راحتی طراحی می شوند و ارزان هستند.

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

آردوینو UNO

منبع تغذیه ۵ ولت

خازن ۱۰۰ میکروفاراد

شاسی دو عدد

مقاومت یک کیلو اهم دو عدد

ماژول RFID Reader EM18

LED

LCD 2*16

شماتیک مدار

LCD 2*16 دارای ۱۶ پایه است اگر دارای نور پس زمینه باشد ولی اگر نور پس زمینه نداشته باشد ۱۴ پایه است. پایه های نور پس زمینه می توانند به تغذیه وصل شوند یا بصورت no connection باشند. در ۱۴ پایه باقیمانده ۸ پایه دیتا (۷-۱۴ or D0-D7)، دو پایه تغذیه (۱&2 or VSS&VDD or GND&+5v) سومین پایه برای کنترل کانتراست (VEE ضخامت کاراکترها که باید نمایش داده شوند را کنترل می کند) و سه پایه کنترلی (RS&RW&E) وجود دارد.

پایه های کانتراست و READ/WRITE اغلب استفاده نمی شوند، بنابراین می توان آنها را به زمین متصل نمود. این کار LCD را در بالاترین کانتراست و در حالت read قرار می دهد. ما فقط لازم است که پایه های ENABLE و RS را برای فرستادن کارکترها و دیتا به ترتیب کنترل کنیم.

نحوه اتصال پایه های LCD

PIN1 or VSS ground
PIN2 or VDD or VCC+۵v power
PIN3 or VEEground (gives maximum contrast best for a beginner)
PIN4 or RS (Register Selection)PIN8 of ARDUINO UNO
PIN5 or RW (Read/Write)ground (puts LCD in read mode eases the communication for user)
PIN6 or E (Enable)PIN9 of ARDUINO UNO
PIN11 or D4PIN10 of ARDUINO UNO
PIN12 or D5PIN11 of ARDUINO UNO
PIN13 or D6PIN12 of ARDUINO UNO
PIN14 or D7PIN13 of ARDUINO UNO
جدول اتصال پایه ها
نمایی از اتصال پایه های مدار
نمایی از اتصال پایه های مدار

ارتباط سریال

قبل از اینکه ادامه بدیم لازم  است کمی درباره ارتباط سریال بدانیم. ماژول RFID دیتا را به صورت سریال به آردوینو می فرستد، این بدین معناست که شما لازم نیست دیتا را تفسیر و یا تغییری در آن ایجاد کنید بلکه خود ماژول دیتا را حاضر و آماده به شما می دهد. این یکی از راه ها و روش های ارتباطی است اما برای ارتباط ساده ما RS232 را انتخاب می کنیم. پایه RS232 ماژول به پایه RXD برد آردوینو UNO متصل می گردد.

اطلاعات ارسالی ماژول RFID در زیر آمده است:

نمایی از اطلاعات ارسالی ماژول آر اف آی دی
نمایی از اطلاعات ارسالی ماژول آر اف آی دی

حال برای برقراری ارتباط بین ماژول RFID و آردوینو، ما باید ارتباط سریال در UNO را فعال کنیم. ارتیاط سریال در آردونو UNO می تواند با استفاده از دستور زیر فعال شود.

Serial.begin(9600);
data = Serial.read();

همانطور که در شکل بالا نشان داده شده است، ارتباط RFID از طریق BAUD rate of 9600 bits per second انجام می شود. بنابراین برای UNO که بتواند این baud rate را پشتیبانی کند و ارتباط سریال شروع بشود از دستور

“Serial.begin(9600)”

استفاده می کنیم که ۹۶۰۰ نرخ buad rate و قابل تغییر است.

حال یکبار که دیتا توسط UNO دریافت شود برای پردازش در دسترس خواهد بود. این دیتا توسط دستور

 “data = Serial.read()”

دریافت می شود. توسط این دستور دیتای سریال به متغیر data از نوع integer منتقل می شود.

یکبار که یک کارت نزدیک ماژول آورده می شود، ماژول سریال دیتا را می خواند و آنرا به UNO می فرستد، ما نیز از با استفاده از ارتباط سریال آردوینو دیتا را دریافت می کنیم و سپس از آن استفاده می کنیم.

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

#include <LiquidCrystal.h>

اضافه کردن کتابخانه LCD

LiquidCrystal lcd(8, 9, 10, 11, 12, 13); //RS,EN,D4,D5,D6,D7

اتصالات پایه های LCD

int count = 0;

کانتر برای شمردن تعداد داده های دریافتی

char input[12];

ذخیره داده های دریافتی در آرایه ای ۱۲ بایتی

void setup()
{
                lcd.begin(16, 2);

تعیین نوع LCD

Serial.begin(9600);

راه اندازی پورت سریال در بادریت ۹۶۰۰

   pinMode(0,INPUT);

پایه دریافت باید به صورت input تعریف شود

                                lcd.print("DATOSROBO");
                                lcd.setCursor(0, 1);

رفتن به خط بعدی

}
void loop()
{   
while(Serial.available() && count < 12)  {

شرط حلقه برای دریافت ۱۲ بایت سیگنال از ماژول

 input[count] = Serial.read();

دیتا تک به تک خوانده شده و آرایه دیتا را پر می کند

                                                count++;
                                                lcd.print(input[count]);

چاپ مقدار آرایه

                                                if (count==12)
                                                {
                                                                lcd.print("             ");
                                                                count = 0;                                                                lcd.setCursor(0, 1);

اگر ۱۲ بایت دریافت شد کانتر را صفر می کند و بقیه ال سی دی را خالی چاپ می کند

                                                }
                                }
}

در این کد هر بار که کارت زده شد یک عدد ۱۲ رقمی به شما نشان داده می شود که نمایانگر آی دی کارت است. شما با دانستن این عدد می توانید کارت را از کارت های دیگر متمایز کنید و با استفاده از آن مثلا سیستم دزدگیر درب خانه تان را طراحی کنید.

سخن پایانی

امیدوارم از این آموزش لذت برده باشید. اگر سوال یا نظری داشتید با ما در بخش نظرات در تماس باشید.

ویکی پدیا

نمایش بیشتر

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا