ماژول کارت خوان RC522 با قابلیت خواندن و نوشتن RFID - RC522 با ارتباط SPI
ماژول کارت خوان RC522
ماژول کارت خوان RFID RC522 یک ماژول کارتخوان NFC/RFID با فرکانس 13.56 مگاهرتز است که به راحتی میتواند انواع کارتهای RFID و NFC را تشخیص دهد و اطلاعات موجود در آنها را بخواند.این ماژول از یک الگوریتم تشخیص و ارتباط با کارتهای RFID و NFC با نام MFRC522 پشتیبانی میکند و با اتصال به میکروکنترلرهایی مانند Arduino و ESP8266، به راحتی میتواند از آن برای پروژههای مختلفی استفاده کرد. از کاربردهای این ماژول میتوان به پروژههای امنیتی و اعتبارسنجی مثل درب بازکن اتوماتیک، سیستم حضور و غیاب و سیستمهای دسترسی فیزیکی اشاره کرد. همچنین این ماژول در صنایع مختلفی مانند حمل و نقل، پیشرفتهسازی شهری و هوشمندسازی ساختمانها نیز کاربرد دارد.
مشخصات فنی RFID RC522
- فرکانس عملیاتی: 13.56 مگاهرتز
- محدوده فاصله از کارت: تا 3 سانتیمتر
- پشتیبانی از کارتهای RFID: MIFARE 1 S50، MIFARE 1 S70، MIFARE Ultralight، MIFARE Pro و NTAG203
- پشتیبانی از کارتهای NFC: NTAG213 و NTAG215
- پشتیبانی از رابط SPI با سرعت بالا
- دارای یک آنتن کوچک داخلی جهت ارتباط با کارتها
- دارای 8 پین ورودی و خروجی برای ارتباط با میکروکنترلرها
- ولتاژ کاری: 3.3 ولت
- جریان مصرفی: کمتر از 13 میلیآمپر
- ابعاد فیزیکی: 60x40 میلیمتر
بررسی پایه های RFID RC522
پایههای برد RFID RC522 به شرح زیر میباشد:
- GND: اتصال به منبع منفی (گراند)
- RST: اتصال به یک پایه دلخواه در آردوینو
- 3.3V: اتصال به منبع تغذیه با ولتاژ 3.3 ولت
- SDA: اتصال به پایه دیجیتال دلخواه در آردوینو
- SCK: اتصال به پایه دیجیتال دلخواه در آردوینو
- MOSI: اتصال به پایه دیجیتال دلخواه در آردوینو
- MISO: اتصال به پایه دیجیتال دلخواه در آردوینو
- IRQ: اتصال به یک پایه دلخواه در آردوینو
به همراه RFID RC522 چه اقلامی باید خریداری شود؟
برای استفاده از ماژول کارت خوان RFID RC522، علاوه بر خریداری خود ماژول، نیاز به موارد زیر است:
- کارتهای RFID یا NFC: برای تست و استفاده از ماژول، بهتر است کارتهای مختلفی از جمله MIFARE 1 S50، MIFARE 1 S70، MIFARE Ultralight و NTAG203 تهیه کنید.
- میکروکنترلر: برای کنترل و مدیریت ماژول، میکروکنترلری مانند آردوینو، رسپبریپای و یا دیگر میکروکنترلرهای با پشتیبانی از رابط SPI میتواند استفاده شود.
- کابلهای ارتباطی: برای اتصال ماژول به میکروکنترلر، نیاز به کابلهای ارتباطی با رابط SPI است. برای مثال، میتوانید از کابلهای Dupont فلت استفاده کنید.
- منبع تغذیه: ماژول کارت خوان RFID با ولتاژ کاری 3.3 ولت کار میکند، بنابراین نیاز به منبع تغذیه با این ولتاژ دارید. میتوانید از منبع تغذیه سوئیچینگ 3.3 ولت استفاده کنید.
با توجه به نیازهای خاص خود، میتوانید به صورت جداگانه موارد فوق را تهیه کنید.
راه اندازی RFID RC522 با آردوینو
برای راهاندازی ماژول کارتخوان RFID RC522 با آردوینو، میتوانید از کتابخانه MFRC522 استفاده کنید. در ابتدا، باید کتابخانه MFRC522 را بر روی نرمافزار آردوینو نصب کنید. برای این کار، میتوانید به بخش کتابخانههای قابل دسترسی در نرمافزار آردوینو مراجعه کرده و کتابخانه MFRC522 را جستجو کنید. سپس کتابخانه را نصب کنید.
برای اتصال ماژول کارتخوان RFID RC522 به آردوینو، از پایههای مربوط به SPI استفاده میشود. پایههای SDA، SCK، MOSI و MISO به ترتیب به پایههای 10، 13، 11 و 12 آردوینو متصل میشوند. همچنین، پایههای RST و SS به پایههای دیجیتال آردوینو متصل میشوند. برای خواندن کارتهای RFID با استفاده از ماژول RC522، باید کد برنامه زیر را در نرمافزار آردوینو نوشته و سپس آن را بر روی برد آردوینو بارگذاری کنید.
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);
void setup() {
Serial.begin(9600);
SPI.begin();
mfrc522.PCD_Init();
Serial.println("Ready to read RFID card");
}
void loop() {
if ( ! mfrc522.PICC_IsNewCardPresent()) {
return;
}
if ( ! mfrc522.PICC_ReadCardSerial()) {
return;
}
Serial.print("Card UID:");
for (byte i = 0; i < mfrc522.uid.size; i++) {
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? "0" : "");
Serial.print(mfrc522.uid.uidByte[i], HEX);
}
Serial.println();
delay(1000);
}
راه اندازی RFID RC522 با میکروپایتون و ESP32
برای استفاده از ماژول RFID RC522 با میکروپایتون، میتوانید از ماژول MFRC522 استفاده کنید که یک رابط برای خواننده RC522 فراهم میکند. کد نمونه زیر ID کارت RFID را خوانده و آن را به کنسول چاپ میکند.
from machine import Pin, SPI
import mfrc522
# تنظیم اتصالات SPI و خواننده RC522
spi = SPI(1, baudrate=10000000)
sck = Pin(18, Pin.OUT)
mosi = Pin(23, Pin.OUT)
miso = Pin(19, Pin.IN)
rc522_cs = Pin(5, Pin.OUT)
rc522 = mfrc522.MFRC522(spi, rc522_cs)
# حلقه اصلی
while True:
# جستجو برای کارت
(stat, tag_type) = rc522.request(rc522.REQIDL)
if stat == rc522.OK:
# کارتی یافت شد، UID را بگیرید
(stat, uid) = rc522.select()
if stat == rc522.OK:
# چاپ UID
print("Card read UID:", uid)
راه اندازی RFID RC522 با میکروپایتون و PICO
جهت راه اندازی RFID RC522 با برد رزبری پای پیکو RP2040 از نرم افزار Thonny IDE استفاده میکنیم.
import machine
import mfrc522
# راه اندازی رابط SPI
spi = machine.SPI(0, baudrate=10000000, sck=machine.Pin(2), mosi=machine.Pin(3), miso=machine.Pin(4))
# راه اندازی MFRC522
sda = machine.Pin(5)
rst = machine.Pin(6)
reader = mfrc522.MFRC522(spi, sda, rst)
# حلقه اصلی
while True:
# اسکن برای کارتها
(stat, tag_type) = reader.request(reader.REQIDL)
# در صورت شناسایی کارت
if stat == reader.OK:
# دریافت UID کارت
(stat, raw_uid) = reader.anticoll()
# در صورت دریافت موفق UID
if stat == reader.OK:
# تبدیل UID به رشته
uid = ''.join([str(x) for x in raw_uid])
# چاپ UID در کنسول
print(uid)
# حالت کارت را متوقف کنید
reader.select_tag(raw_uid)
reader.card_auth(reader.AUTHENT1A, 8, [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF])
reader.stop_crypto1()
مشخصات
- کاربری
- استفاده نیمه صنعتی
- نوع ماژول
- RFID
- ابعاد فیبر
- 40*60 میلی متر
- سطح تجربه مورد نیاز
- نیمه حرفه ای
- ولتاژ مورد نياز
- 2.5 to 3.3 V
- فیبر مدار چاپی
- متالیزه
- محدوده دمایی
- -20 to 80 °C
- جریان
- 13 to 26 mA
- چاپ مس
- دارای چاپ آبی
- تعداد پایه ها
- 8 پایه
- اقلام همراه محصول
- کارت RFID و تگ RFID
- کشور سازنده
- چین
- حداکثر سرعت
- 10 مگابیت بر ثانیه در پروتکل SPI3400 کیلو باد در پروتکل I2C1228.8 کیلو باد در پروتکل UART
- شارژر
- ندارد
- فرکانس
- 13.56 مگاهرتز
- پروتکل ارتباطی
- SPI - I2C -Serial UART
- محدوده اندازه گیری
- قابلیت تشیص تگ در فاصله 10 تا 80 سانتی مار
- حافظه
- دارای بافر 64 بیتی
- ارتباط UART
- دارد
- وضعیت مونتاژ
- آماده به کار، نیازمند لحیم کاری پین هدرها
- منبع تامین انرژی
- الکتریسیته
- فرکانس RFID
- 13.56MHz
- نوع مبدل
- پروتکل SPI
- ماژول sim800l
- سیم کارت
- منبع تغذیه
- آنتن GSM
- کابل USB به سریال
- خازن 1000 میکروفاراد
- ماژول کاهنده LM2596
ولقطعات مورد نیاز برای راه اندازی ماژول sim800l عبارتند از:
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.