INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Haai, in hierdie tutoriaal gaan ek u help met die koppeling van RFID-RC522 met Arduino Mega 2560 om die RFID te lees en die data op die seriële monitor te vertoon. sodat u dit op u eie kan uitbrei
Jy benodig:
- Arduino Mega of Arduino Uno (ek het Mega gebruik)
- RFID-RC522
- 7 springdrade van man tot vrou
- Sommige ID -kaarte (opsioneel)
- RFID -biblioteek (moet, skakel hieronder)
Laai dan die onderstaande biblioteek af en voeg dit by u Arduino IDE deur op Sketch-> Include Library-> Add. Zip Library in die lêermenu te klik
Stap 1: Fisiese verbindingsdetail
verbind eenvoudig die arduino met RFID-RC522 soos getoon in die bostaande prentjie.
Waarskuwing: verskaf slegs 3.3V, anders brand die module uit
Speld uit vir Uno/Nano en Mega
RC522 MODULE Uno/Nano MEGASDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ Nvt Nvt GND GND GND RST D9 D8 3.3V 3.3V 3.3V
Stap 2: Eenvoudige kode om die waarde van RFID -etikette te lees en te druk
Kopieer die onderstaande kode en laai dit dan op u Arduino op
/*PINOUT: RC522 MODULE 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*//*Sluit die standaard Arduino SPI biblioteek in */ #include/ *Sluit die RFID -biblioteek in */ #include
/* Definieer die DIO wat gebruik word vir die SDA (SS) en RST (reset) penne. */
#define SDA_DIO 9 #define RESET_DIO 8 / * Skep 'n voorbeeld van die RFID -biblioteek * / RFID RC522 (SDA_DIO, RESET_DIO);
leemte opstelling ()
{Serial.begin (9600); / * Aktiveer die SPI -koppelvlak */ SPI.begin (); / * Initialiseer die RFID -leser */ RC522.init (); }
leemte lus ()
{ /* Is 'n kaart opgespoor? */ if (RC522.isCard ()) {/ *Indien wel, kry dan die reeksnommer */ RC522.readCardSerial (); Serial.println ("Kaart opgespoor:"); for (int i = 0; i <5; i ++) {Serial.print (RC522.serNum , DEC); //Serial.print(RC522.serNum , HEX); // om kaartbesonderhede in Hexa Desimale formaat te druk} Serial.println (); Serial.println (); } vertraging (1000); }
Stap 3: Eenvoudige kode vir supermarkmark -toepassing met behulp van RFID
Kopieer die onderstaande kode en laai dit dan op u Arduino op. in die onderstaande sal die totale koopwaarde toeneem wanneer die kaart die eerste keer gelees word, dan verminder dit as u dit vir die tweede keer lees …
/*
PINOUT:
RC522 MODULE Uno/Nano MEGA
SDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ Nvt Nvt GND GND GND RST D9 D8 3.3V 3.3V 3.3V
*
* Sluit die standaard Arduino SPI -biblioteek in */
#include / * Sluit die RFID -biblioteek in * / #include
/* Definieer die DIO wat gebruik word vir die SDA (SS) en RST (reset) penne. */
#define SDA_DIO 9 #define RESET_DIO 8 int productname [5] = {228, 18, 37, 75, 24}; int produk [5] = {100, 120, 230, 125, 70}; int token [5] = {0, 0, 0, 0, 0}; int Totaal; / * Skep 'n voorbeeld van die RFID -biblioteek */ RFID RC522 (SDA_DIO, RESET_DIO);
leemte opstelling ()
{Serial.begin (9600); / * Aktiveer die SPI -koppelvlak */ SPI.begin (); / * Initialiseer die RFID -leser */ RC522.init (); }
leemte lus ()
{ / * Tydelike lusteller * / byte i = 0; greep j = 0; greep k = 0; int ID;
/* Is 'n kaart opgespoor? */
if (RC522.isCard ()) { / * Indien wel, kry dan die reeksnommer * / RC522.readCardSerial (); Serial.print (RC522.serNum , DEC);
//Serial.println("Kaart opgespoor: ");
/ * Voer die reeksnommer in na die UART */
ID = RC522.serNum [0]; //Serial.print(ID); Serial.println (""); vir (i = 0; i <5; i ++) {if (produknaam == ID) {Serial.println ("Totale aankoop"); as (token == 0) {Totaal = Totaal+produk ; teken = 1; } anders {Totaal = Totaal-produk ; teken = 0; } Serial.println (totaal); breek; } anders as (i == 5) {Serial.println ("Toegang geweier"); breek; }} Serial.println (); Serial.println (); } vertraging (1000); }
Stap 4: Gevolgtrekking.,
Ek wil u bedank vir die lees van my tutoriaal. Ek sal dit waardeer as u dit nuttig vind, 'n like (gunsteling) of iets vra, aangesien dit my gemotiveerd hou om hierdie instruksies te doen. stel gerus enige vrae wat u moet weet …
Gelukkige kodering Arduino …