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

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

آیرنکس

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

ماژول RFID EM-18 با لانچ پد MSP430


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

توضیحات مدار پروژه RFID با MSP430

ما از سخت افزار UART در MSP430 استفاده خواهیم کرد ، بنابراین اطمینان حاصل کنید که جامپرهای RXD و TXD روی صفحه در حالت HW UART هستند. سپس Tx از EM-18 را به RXD (P1.1) MSP430 وصل کنید.

مدار پروژه RFID با MSP430


توضیحات ماژول خواننده RFID EM-18

ماژول خواننده RFID EM-18


RFID مخفف Radio Frequency Identification به معنی شناسایی فرکانس رادیویی است. هر کارت RFID دارای یک شناسه منحصر به فرد است که در آن قرار داده شده است. از خواننده RFID برای خواندن شماره RFID استفاده می شود. خواننده RFID EM-18 با سرعت 125 کیلوهرتز کار می کند و از آنتن داخلی بهره می برد و با منبع تغذیه 5 ولت می توان از آن استفاده کرد. این ماژول خروجی سریال به همراه خروجی weigand را فراهم می کند. دامنه عملکرد آن حدود 8-12 سانتی متر است. از این ماژول آرفید در بسیاری از پروژه ها استفاده میشود مثل :

  • سیستم حضور و غیاب مبتنی بر RFID
  • سیستم های امنیتی
  • دستگاه های رای گیری
  • قیمت گذاری جاده ای الکترونیکی
برچسب های (تگ ها) آرفید


Arduino را می توان به راحتی بر روی سیستم کامپیوتر شخصی خود پیاده کرده و از ماژول های متنوع آن استفاده کرد. آردوینو ها اغلب به عنوان میکروکنترلر به کار گرفته می شوند. این برد ها میتوانند نقش های بسیار کاربردی و مفیدی را در یک سیستم ایفا کنند.

این برد به عنوان مغز سیستم کار می کند و ماژول ها و سنسور ها نتایج را به آن می فرستند. یکی از معروفترین و همچنین پرکاربردترین برد های آردوینو برای انجام پروژه ها و به خصوص شبیه سازی های اولیه، برد Arduino Uno می باشد. همانند معنی کلمه این برد اولین نسل از آردوینو بود و در ایتالیایی UNO به معنای یک می باشد.

برد آردوینو Uno

شیلد های آردوینو

یک سری بردهای کمکی می باشند امکانات حرفه ای را به برد آردوینو اضافه می کنند. این شیلد ها وظیفه پردازش قسمتی از داده ها را بر عهده دارند. این ماژول ها ار شلوغی و تراکم زیاد مدار جلوگیری میکنند. زیرا به آسانی روی برد Arduino قرار میگیرند. بعضی شیلد های برای ارتباط وای فای (Wifi)، برخی برای ارتباط اترنت (Ethernet)، برخی برای کنترل موتور ها (Driver) و … استفاده میشوند.

برنامه نویسی Arduino چگونه است ؟

اردوینو یک زبان برنامه نویسی رایگان می باشد. اردوینو از نظر برنامه نویسی شباهت زیادی به زبان C++ دارد. نکته جالب دیگر در مورد این نرم افزار help و آموزش واضح و روان در داخل خود برنامه می باشد. همچنین در قسمت مثال ها (example) نمونه پروژه های برنامه نویسی شده آماده نیز برای راهنمایی بیشتر کاربران وجود دارد.

کد هایی که با استفاده از آردوینو نوشته می شود، اسکچ خوانده می شوند. این اسکچ ها یا همان کد های آردوینو در قسمت ویرایشگر متن مانند پنجره edit در نرم افزار متلب نوشته می شوند و با پسوند ino ذخیره می شوند. این مسئله قابلیت هایی را برای کپی، کات یا حتی سرچ کردن متن فراهم می کند. بعد از انجام عملیات ذخیره، Export انجام می گیرد. در این زمان ناحیه پیام نتیجه بارگذاری کد را نشان میدهد همچنین میتوان خطا های موجود در کد را در آن قسمت مشاهده کرد.

به طور کلی کد های آردوینو به دوسته کلی تقسیم می شود. Void Setup و Void Loop. در Void Setup مقدار دهی اولیه انجام میشود و در Void Loop کد ها به صورت بی نهایت تکرار میشوند.


خروجی ارائه شده توسط EM-18 RFID خواننده با فرمت 12 رقمی ASCII است. از 12 رقم اول 10 رقم اول شماره کارت و دو رقم آخر نتیجه XOR شماره کارت است. دو رقم آخر برای بررسی خطا استفاده می شوند.

به عنوان مثال ، شماره کارت 0200107D0D62 است که از خواننده خوانده می شود و سپس شماره کارت موجود در کارت به شرح زیر می باشد.

02 = مقدمه

00107D0D = 1080589 در دسیمال.

62 مقدار XOR برای (02 XOR 00 XOR 10 XOR 7D XOR 0D) است.

از این رو شماره کارت 0001080589 است

جزئیات پین های EM-18

خواننده RF-EM-18 دارای 9 پین ​​است. در میان 9 پین ​​، 2 پین متصل نمیشوند. بنابراین در اصل ما باید 7 پایانه را در نظر بگیریم. جدول زیر توضیحات پین EM-18 را نشان می دهد.

اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید.

جزئیات پین های EM-18


شماره پیننام پیناستفاده1VCCمثبت2GNDGROUND3BUZZبازر4NCبدون اتصال5NCبدون اتصال6SELSEL=1 (RS232) SEL=0 (WEIGAND)7TXDATA is given out through TX of RS2328DATA1WEIGAND interface DATA HIGH pin9DATA0WEIGAND interface DATA LOW pin

مشخصات ماژول RF-EM-18

  • فاصله خواندن: 10cm
  • دمای کار: 0 درجه سانتیگراد تا +80 درجه سانتی گراد
  • پارامتر ارتباطی: 9600bps
  • میزان مصرف فعلی: <50mA
  • فرکانس عملکرد: 125 کیلوهرتز
  • ولتاژ عامل: 5 ولت

قطعات مورد نیاز

  1. برد لانچ پد MSP430
  2. ماژول خواننده RFID EM-18
  3. ال سی دی کاراکتری 16*2
  4. پتانسیومتر

کد پروژه شناسایی کارت RFID با MSP430

قبل از ادامه باید در مورد ارتباط سریال بدانیم. ماژول RFID در اینجا داده ها را به صورت سریال به کنترلر می فرستد. پین RS232 ماژول به پین ​​RXD MSP430 وصل شده است.

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

کد پروژه شناسایی کارت RFID با MSP430


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

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

همانطور که در شکل بالا نشان داده شده است ، ارتباط RFID با نرخ BAUD 9600 بیت در ثانیه انجام می شود. بنابراین برای MSP430 برای ایجاد چنین نرخ باود و برای شروع ارتباط سریال ، از دستور Serial.begin (9600)؛ استفاده می کنیم. در اینجا 9600 نرخ باود است و قابل تغییر است.

اکنون پس از تنظیم نرخ baud ، برد MSP آماده دریافت داده های سریال است. این داده ها با دستور data = Serial.read ()؛ جمع آوری می شوند.

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

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

در ابتدا کتابخانه کریستال مایع را برای نمایش شماره کارت RFID فراخوانی میکنیم و پین های مورد استفاده برای اتصال LCD را تعریف میکنیم. سپس آرایه ای با اندازه 12 ایجاد میکنیم.

#include <LiquidCrystal.h>
LiquidCrystal lcd(P2_0, P2_1, P2_2, P2_3, P2_4, P2_5);
char input[12];

در عملکرد void setup ()، ال سی دی را راه اندازی و ارتباط سریال را با تعیین نرخ Baud 9600 فعال کنید.

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

در عملکرد void loop ()، ما بررسی خواهیم کرد که اطلاعات سریال در دسترس است یا خیر. در صورت وجود ، داده ها را در آرایه ورودی [count] از Serial.read () ذخیره میکنیمو آن را با استفاده از loop در LCD نمایش میدهیم.

while(Serial.available() && count < 12)   //اگر داده سریال در دسترس بود
      {
      input[count] = Serial.read();      //مرتب سازی اعداد شماره کارت
              Serial.print(input[count]);                                
             lcd.print(input[count]);
                 delay(300);
                      count++;    
                 if (count==12)
                 {
                 lcd.print("                      ");
                 count = 0;   //آماده برای دریافت شماره کارت بعدی
…
…

فیلم عملکرد راه اندازی RFID با لانچ پد

به این ترتیب است که می توانیم شماره RFID را بر روی LCD با استفاده از MSP430 Launchpad بخوانیم و نمایش دهیم. اکنون می توانید این پروژه را گسترش دهید و آن را به عنوان سیستم حضور و غیاب ، سیستم رای گیری ، سیستم امنیتی و … پیکربندی کنید.