Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Salam bu təlimatda, RFID-ni oxumaq və məlumatları Serial Monitorda göstərmək üçün Arduino Mega 2560 ilə RFID-RC522 ilə əlaqə qurmağa kömək edəcəyəm. belə ki, təkbaşına uzada bilərsiniz
Ehtiyacınız var:
- Arduino Mega və ya Arduino Uno (Mega istifadə etdim)
- RFID-RC522
- 7 kişi -dişi tullanan tel
- Bəzi şəxsiyyət vəsiqələri (isteğe bağlı)
- RFID Kitabxanası (Aşağıdakı link olmalıdır)
Sonra Aşağıdakı kitabxananı yükləyin və Sketch-> Kitabxanaya daxil et-> Fayl menyusunda Zip Kitabxanası əlavə edərək Arduino IDE-yə əlavə edin.
Addım 1: Fiziki Bağlantı Detalları
yuxarıdakı şəkildə göstərildiyi kimi arduino-nu RFID-RC522 ilə bağlayın.
Xəbərdarlıq: yalnız 3.3V təchiz edin, əks halda modul yanacaq
Uno/Nano və Mega üçün qeyd edin
RC522 MODÜLÜ Uno/Nano MEGASDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ Yoxdur GND GND GND RST D9 D8 3.3V 3.3V 3.3V
Addım 2: RFID etiketlərinin dəyərini oxumaq və çap etmək üçün sadə kod
Aşağıdakı kodu kopyalayın və Arduino -ya yükləyin
/*PINOUT: RC522 MODÜLÜ Uno/Nano MEGA SDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N/AN/A GND GND GND RST D9 D8 3.3V 3.3V 3.3V*//*Standart Arduino SPI kitabxanasını daxil edin */ #include/ *RFID kitabxanasını daxil et */ #include
/* SDA (SS) və RST (sıfırlama) pinləri üçün istifadə olunan DIO -nu təyin edin. */
#define SDA_DIO 9 #define RESET_DIO 8 / * RFID kitabxanasının bir nümunəsini yaradın * / RFID RC522 (SDA_DIO, RESET_DIO);
boş quraşdırma ()
{Serial.begin (9600); / * SPI interfeysini aktiv edin */ SPI.begin (); / * RFID oxuyucusunu işə salın */ RC522.init (); }
boşluq döngəsi ()
{ /* Kart aşkarlandı? */ if (RC522.isCard ()) {/ *Əgər belədirsə, seriya nömrəsini alın */ RC522.readCardSerial (); Serial.println ("Kart aşkarlandı:"); for (int i = 0; i <5; i ++) {Serial.print (RC522.serNum , DEC); //Serial.print(RC522.serNum , HEX); // kart detallarını Hexa Ondalık formatında çap etmək üçün} Serial.println (); Serial.println (); } gecikmə (1000); }
Addım 3: RFID istifadə edərək Super Market tətbiqi üçün sadə kod
Aşağıdakı kodu kopyalayın və Arduino -ya yükləyin. Aşağıda, kartı ilk dəfə oxuduqda ümumi alış dəyəri artacaq, ikinci dəfə oxuduqda isə azalacaq …
/*
Çıxış:
RC522 MODÜLÜ Uno/Nano MEGA
SDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ Yoxdur GND GND GND RST D9 D8 3.3V 3.3V 3.3V
*
* Standart Arduino SPI kitabxanasını daxil edin */
#include / * RFID kitabxanasını daxil et * / #include
/* SDA (SS) və RST (sıfırlama) pinləri üçün istifadə olunan DIO -nu təyin edin. */
#define SDA_DIO 9 #define RESET_DIO 8 int məhsul adı [5] = {228, 18, 37, 75, 24}; int məhsulu [5] = {100, 120, 230, 125, 70}; int token [5] = {0, 0, 0, 0, 0}; int Cəmi; / * RFID kitabxanasının bir nümunəsini yaradın */ RFID RC522 (SDA_DIO, RESET_DIO);
boş quraşdırma ()
{Serial.begin (9600); / * SPI interfeysini aktiv edin */ SPI.begin (); / * RFID oxuyucusunu işə salın */ RC522.init (); }
boşluq döngəsi ()
{ / * Müvəqqəti döngə sayğacı * / bayt i = 0; bayt j = 0; bayt k = 0; int ID;
/* Bir kart aşkar edildi? */
if (RC522.isCard ()) { / * Əgər belədirsə, seriya nömrəsini alın * / RC522.readCardSerial (); Serial.print (RC522.serNum , DEC);
//Serial.println("Kart aşkarlandı: ");
/ * Seriya nömrəsini UART -a çıxarın */
ID = RC522.serNum [0]; //Serial.print (ID); Serial.println (""); for (i = 0; i <5; i ++) {if (məhsul adı == ID) {Serial.println ("Total Satınalma"); if (token == 0) {Total = Total+product ; mö'cüzə = 1; } başqa {Cəmi = Ümumi məhsul ; mö'cüzə = 0; } Serial.println (Cəmi); fasilə; } else if (i == 5) {Serial.println ("Giriş rədd edildi"); fasilə; }} Serial.println (); Serial.println (); } gecikmə (1000); }
Addım 4: Nəticə
Dərsliyimi oxuduğunuz üçün sizə təşəkkür etmək istəyirəm. Faydalı tapsanız və bəyəndiyiniz (sevdiyiniz) bir şəkil atsanız və ya mənə bir şey soruşsanız, bu təlimatları etməyə həvəsləndirdiyim üçün minnətdar olaram. bilmək istədiyiniz hər hansı bir sual verməkdən çekinmeyin …
Xoşbəxt Kodlaşdırma Arduino…