آموزش STM32آموزش های ARMپروژه های ARMپروژه های STM32

آموزش اتصال و راه اندازی ماژول RFID با STM32

سلام. آموزش اتصال و راه اندازی ماژول RFID با STM32 را آماده کردیم.

پروژه ماژول RFID EM-18 با میکروکنترلر STM32

در این پروژه، ما سیستمی را برای خواندن کارت های RFID با استفاده از STM32 و ماژول rfid طراحی میکنیم. RFID به معنای شناسایی فرکانس رادیویی است. RFID ها در بسیاری از مکان ها مثل حضور و غیاب ادارات، قفل کمد در استخر ها، قفل درب هتل ها و … کاربرد دارد.

در این مقاله به طور کامل ارتباط یک ماژول آرفید مثل em18 با برد STM 32 را بررسی میکنیم. در این پروژه ما شماره هر تگ (برچسب آرفید مثل کارت، دستبند و…) را میخوانیم و آن را روی یک ال سی دی نمایش میدهیم.

فیلم زیر به شما در درک نحوه کار این پروژه کمک میکند.

همچنین بقیه پروژه های ما در مورد RFID را مشاهده کنید :

توضیحات مدار اتصال RFID به STM32

شماتیک مدار پروژه اتصال ماژول RFID به میکروکنترلر STM32 در تصویر زیر نشان داده شده است.

مدار اتصال RFID به STM32

اتصالات بین STM32 و 16×2 LCD

شماره پین ال سی دی نام پین ال سی دی نام پین STM32
1 Ground Ground
2 VCC 5V
3 VEE پتانسیومتر
4 Register Select RS PB11
5 Read/Write RW Ground
6 Enable EN PB10
7 Data Bit 0 DB0 بدون اتصال
8 Data Bit 1 DB1 بدون اتصال
9 Data Bit 2 DB2 بدون اتصال
10 Data Bit 3 DB3 بدون اتصال
11 Data Bit 4 DB4 PB0
12 Data Bit 5 DB5 PB1
13 Data Bit 6 DB6 PC13
14 Data Bit 7 DB7 PC14
15 LED مثبت 5V
16 LED منفی Ground

اتصالات بین STM32 و ماژول EM-18

ماژول RFID EM-18 STM32
VCC +5V
GND GND
TX PA10

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

  1. STM32 – برد توسعه (BluePill) (STM32F103C8T6)
  2. ماژول EM-18 RFID
  3. تگ و کارت RFID
  4. ال سی دی کاراکتری 16*2
قطعات مورد نیاز را از فروشگاه قطعات آیرنکس تهیه کنید.

برچسب های RFID

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

برچسب های RFID

در اصل دو نوع برچسب RFID وجود دارد: Passive و Active

برچسب های Passive (غیرفعال) RFID از میدان مغناطیسی که توسط ماژول خواننده مانند EM-18 ایجاد شده است ، استفاده می کنند و از آن برای تغذیه مدارات میکروچیپ استفاده می کنند. سپس تراشه اطلاعات را برای ماژول خواننده ارسال می کند.

برچسب های Active (فعال) RFID به منبع تغذیه جداگانه ای نیاز دارند و حداکثر 1MB حافظه خواندن / نوشتن دارند.

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

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

اگر در مورد این مطلب سوالی دارید در قسمت نظرات بپرسید

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

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

برچسب های (تگ ها) آرفید

خروجی ارائه شده توسط 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

شماره پین نام پین استفاده
1 VCC مثبت
2 GND GROUND
3 BUZZ بازر
4 NC بدون اتصال
5 NC بدون اتصال
6 SEL SEL=1 (RS232) SEL=0 (WEIGAND)
7 TX DATA is given out through TX of RS232
8 DATA1 WEIGAND interface DATA HIGH pin
9 DATA0 WEIGAND interface DATA  LOW pin

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

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

برنامه نویسی STM32 برای ماژول RFID

در آموزش قبلی ما درباره برنامه نویسی STM32 با استفاده از درگاه USB آموختیم. می توان با استفاده از درگاه USB بدون استفاده از پروگرامر FTDI برد STM32 را برنامه ریزی کرد : آموزش برنامه نویسی STM32 با پورت USB. برنامه ریزی را به راحتی با ARDUINO IDE شروع کنید. برنامه نویسی STM32 در آردوینو برای خواندن تگ RFID بسیار ساده است.

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

1. ابتدا ، برای استفاده از توابع نمایشگر LCD ، کتابخانه نمایشگر LCD را فراخوانی میکنیم. سپس پین های LCD را تعیین کرده و صفحه LCD را تنظیم میکنیم. برای کسب اطلاعات بیشتر در مورد اتصال LCD به STM32 

#include <LiquidCrystal.h>                                              
const int rs = PB11, en = PB10, d4 = PB0, d5 = PB1, d6 = PC13, d7 = PC14;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

2. سپس در void setup()

ما باید حالت نمایش LCD را به صورت 16×2 تنظیم کنیم و ارتباط سریال را با سرعت baud 9600 با پین PA10 شروع کنیم (این درگاه ارتباط SERIAL1 RX1 از STM32F103C8 است که به پین EM-18 TX متصل است.)

 lcd.begin(16, 2);                 
 Serial1.begin(9600);              
 pinMode(PA10,INPUT); 

3. نمایش پیام خوش آمدید و پاک کردن آن بعد از مدتی.

lcd.print("IRENX");       //نمایش در ال سی دی
 lcd.setCursor(0, 1);               //ردیف دوم ستون اول
lcd.print("RFID WITH STM32");      //نمایش در ال سی دی
 delay(5000);                       //تاخیر 5 ثانیه ای
 lcd.clear();                       //پاکسازی ال سی دی
 lcd.setCursor(0,0);                //ردیف اول ستون اول
 lcd.print("RFID TAG NO:");         //نمایش در ال سی دی
lcd.setCursor(0,1);                //ردیف دوم ستون اول

4. در void loop()

هنگامی که داده های تگ RFID ماژول EM-18 در پین سریال STM32F103C8 در دسترس باشد ، کاراکتر بیت بیت ذخیره می شود و یکی یکی بر روی صفحه نمایش LCD نمایش داده می شود.

{   
   while(Serial1.available() && count < 12)         
  {

     RFID[count] = Serial1.read();                 
     count++;

     lcd.print(RFID[count]);                        

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

فیلم عملکرد

اکنون فقط کد کامل را در STM32 بارگذاری کنید و سیستم شما آماده کار است. فقط برچسب RFID را بر روی ماژول RFID قرار دهید و خواهید دید که Tag ID در صفحه نمایش LCD 16×2 ظاهر می شود.

دانلود فیلم پروژه RFID و STM32

موارد موجود در فایل : سورس کامل ، شماتیک

5 (4 نفر)

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید قرار بدهم. سوالات مربوط به این مطلب را در قسمت نظرات همین مطلب اعلام کنید. سعی میکنم در اسرع وقت به نظرات شما پاسخ بدهم.

1 دیدگاه

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

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