Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Hej där i den här självstudien ska jag hjälpa dig med gränssnitt mellan RFID-RC522 och Arduino Mega 2560 för att läsa RFID och visa data på seriemonitorn. så att du kan förlänga det på egen hand
Du behöver:
- Arduino Mega eller Arduino Uno (jag använde Mega)
- RFID-RC522
- 7 bygel till hane
- Vissa ID -kort (tillval)
- RFID -bibliotek (måste, länk nedan)
Ladda sedan ner biblioteket nedan och lägg till det i din Arduino IDE genom att klicka på Sketch-> Inkludera bibliotek-> Lägg till. Zip-bibliotek i filmenyn
Steg 1: Fysisk anslutningsdetalj
anslut helt enkelt arduino med RFID-RC522 som visas i bilden ovan.
Varning: endast 3,3V, annars kommer modulen att brinna ut
Pin Out för Uno/Nano och Mega
RC522 MODUL Uno/Nano MEGASDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N/A N/A GND GND GND RST D9 D8 3.3V 3.3V 3.3V
Steg 2: Enkel kod för att läsa och skriva ut RFID -taggar Värde
Kopiera koden nedan och ladda upp den på din Arduino
/*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*//*Inkludera det vanliga Arduino SPI -biblioteket */ #include/ *Inkludera RFID -biblioteket */ #include
/* Definiera DIO som används för SDA (SS) och RST (reset) stiften. */
#define SDA_DIO 9 #define RESET_DIO 8 / * Skapa en instans av RFID -biblioteket * / RFID RC522 (SDA_DIO, RESET_DIO);
void setup ()
{Serial.begin (9600); / * Aktivera SPI -gränssnittet */ SPI.begin (); / * Initiera RFID -läsaren */ RC522.init (); }
void loop ()
{ /* Har ett kort upptäckts? */ if (RC522.isCard ()) {/ *Om så är fallet får du dess serienummer */ RC522.readCardSerial (); Serial.println ("Kort upptäckt:"); för (int i = 0; i <5; i ++) {Serial.print (RC522.serNum , DEC); //Serial.print(RC522.serNum , HEX); // för att skriva ut kortdetaljer i Hexa decimalformat} Serial.println (); Serial.println (); } fördröjning (1000); }
Steg 3: Enkel kod för Supermarknadsapplikation med RFID
Kopiera koden nedan och ladda upp den på din Arduino. i nedan kommer det totala köpvärdet att ökas när du läser kortet första gången och sedan minskar när du läser samma för andra gången …
/*
PINOUT:
RC522 -MODUL Uno/Nano MEGA
SDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N/A N/A GND GND GND RST D9 D8 3.3V 3.3V 3.3V
*
* Inkludera standard Arduino SPI -bibliotek */
#include / * Inkludera RFID -biblioteket * / #include
/* Definiera DIO som används för SDA (SS) och RST (reset) stiften. */
#define SDA_DIO 9 #define RESET_DIO 8 int produktnamn [5] = {228, 18, 37, 75, 24}; int produkt [5] = {100, 120, 230, 125, 70}; int token [5] = {0, 0, 0, 0, 0}; int Totalt; / * Skapa en instans av RFID -biblioteket */ RFID RC522 (SDA_DIO, RESET_DIO);
void setup ()
{Serial.begin (9600); / * Aktivera SPI -gränssnittet */ SPI.begin (); / * Initiera RFID -läsaren */ RC522.init (); }
void loop ()
{ / * Tillfällig slingräknare * / byte i = 0; byte j = 0; byte k = 0; int ID;
/* Har ett kort upptäckts? */
if (RC522.isCard ()) { / * Om så är fallet får du dess serienummer * / RC522.readCardSerial (); Serial.print (RC522.serNum , DEC);
//Serial.println("Kort upptäckt: ");
/ * Mata in serienumret till UART */
ID = RC522.serNum [0]; //Serial.print(ID); Serial.println (""); för (i = 0; i <5; i ++) {if (produktnamn == ID) {Serial.println ("Totalt inköp"); if (token == 0) {Totalt = Totalt+produkt ; token = 1; } annat {Total = Total-product ; token = 0; } Serial.println (totalt); ha sönder; } annars if (i == 5) {Serial.println ("Åtkomst nekad"); ha sönder; }} Serial.println (); Serial.println (); } fördröjning (1000); }
Steg 4: Slutsats.,
Jag vill tacka dig för att du läste min handledning. Jag skulle uppskatta om du tyckte att det var användbart och släpp en gilla (favorit) eller fråga mig något eftersom det håller mig motiverad att göra dessa instruktioner. ställ gärna frågor som du behöver veta …
Glad kodning Arduino …