Innhold dekket i denne artikkelen:
1: Introduksjon til RC522 -sensor
MFRC522 er en RFID -basert kontaktløs IC som kan lese og skrive data med en frekvens på 13.56 MHz. Den er designet for enkel integrasjon i et bredt spekter av applikasjoner, inkludert tilgangskontrollsystemer, betalingsterminaler og andre systemer som krever sikker trådløs kommunikasjon.
Sensoren har et lavt strømforbruksdesign og er i samsvar med ISO/IEC 14443 A/Mifare Standard, som lar den kommunisere med et bredt spekter av kontaktløse kort og tagger.
I tillegg har MFRC522 en innebygd antenne, noe som gjør det til en praktisk og kompakt løsning for å legge til kontaktløse kommunikasjonsevner til et prosjekt.
2: RC522 Sensor Pinout
Sensoren har totalt 8 pinner som grenser den til en mikrokontroller eller annen kontrollenhet. Pinout av MFRC522 -sensoren er som følger:
De SDA, SCK, Mosi, og Miso Pinner brukes til å grensesnitt MFRC522-sensoren med en mikrokontroller via et 4-ledig seriell perifert grensesnitt (SPI) kommunikasjonsprotokoll.
De Irq PIN kan brukes til å generere et avbrudd når visse hendelser oppstår, for eksempel et vellykket kort- eller taglesing, men det brukes ikke ofte i mange prosjekter.
De GND PIN -en kobles til bakken til kretsen, og RST PIN brukes til å tilbakestille sensoren.
Til slutt 3.3V PIN brukes til å levere strøm til sensoren.
Det er viktig å merke seg at disse pin -navnene kan variere litt avhengig av den spesifikke modulen, så det er alltid best å konsultere produsentens datablad for riktig pinout -informasjon.
3: Grensesnitt RC522 RFID -sensor med Arduino Uno
Grensesnitt. Dette biblioteket gir et brukervennlig sett med funksjoner for å få tilgang til sensorens funksjonalitet, inkludert funksjoner for lesing og skrive data til kontaktløse kort og tagger.
Når biblioteket er installert, kan du finne et eksempel i eksempler -menyen som viser hvordan du initialiserer sensoren og kommuniserer med et kort eller etikett. I skissen er det viktig å angi riktige pin -tilkoblinger mellom Arduino og MFRC522 -sensoren, for eksempel SPI -pinnene, tilbakestillingspinnen og andre, i henhold til modellen til Arduino -brettet som brukes.
Med riktig ledning og biblioteket riktig installert, vil Arduino kunne kommunisere med MFRC522 -sensoren og utføre de ønskede handlingene som å lese og skrive til kort og tagger.
3.1: Skjematisk
RC522 Skjematisk bilde med Arduino Uno er vist nedenfor:
3.2: Installere de nødvendige bibliotekene
MFRC522 Bibliotek er nødvendig for å lese RFID -kortet og tagger Uid. Åpne IDE, gå til Library Manager og søk etter MFRC522 -biblioteket. Installer biblioteket i Arduino IDE:
Etter å ha installert MFRC522 -biblioteket vil vi lese UID for RFID -koder og kort.
3.3: Få uid for RFID -kort/tag
Åpne Dumpinfo Eksempel for MFRC522 sensor. Gå til: Fil> Eksempler> MFRC522> Dumpinfo:
Følgende kode åpnes i et nytt IDE -vindu. Last opp koden til Arduino Uno. Husk å angi tilbakestillingen og slave Velg PIN i henhold til Arduino -styret ditt. Enhver av Arduino digitale pinner kan settes som RST og Ss:
Etter å ha lastet opp kode til Arduino Uno. Berør og hold RFID -kortet/taggen med MFRC522 Sensor:
Sensor vil lese dataene som er lagret inne i RFID -taggen og vise dem på seriemonitoren. Her kan vi se Uid for RFID -tagger 02 DC B4 C3.
Totalt 16 (0-15) sektorer der RFID kort/tag 1K minne er organisert. Fire (0-3) blokker er inkludert i hver av disse 16 sektorene. Hver blokk har kapasitet til å lagre 16 (0-15) byte med data.
Disse dataene representerer det:
16 sektorer x 4 blokker x 16 byte data = 1024 byte = 1K minne
Arduino IDE Serial Monitor viser USAs distribusjon av 1K minne av RFID -taggen. Denne distribusjonen inneholder også sektorer, blokker og datainformasjon i rader og kolonner i utgangsdataene:
Du kan også lese den unike ID -en (Uid) for kortet på slutten av utgangen:
4: Leser en RFID -tagg ved hjelp av Arduino Uno
Nå har vi lest den unike ID (UID) for RFID -taggen. Vi vil skrive en Arduino -kode som lagrer denne kortinformasjonen og gir tilgang til brukeren hvis RFID -taggen med samme uid er tappet med MFRC522 -sensoren.
4.1: Kode
Åpne IDE, velg UNO -kort og last opp den gitte koden:
/*Kode startet med å inkludere SPI- og MFRC522 -biblioteket. Deretter definerte vi tilbakestillingen og slavens valgt pinne for sensoren. En LED ved pinne D8 initialiseres som utgang.
RFID -kortet som vi vil lese blir initialisert ved å definere uid. Dette er det samme uid vi fikk ved å bruke Dumpinfo Eksempelkode.
An HVIS Tilstanden vil sjekke UID for kortet som er tappet med sensoren. Hvis UID samsvarer med den inne i kode -LED vil slå på og autorisert tilgangsmelding vil bli skrevet ut, ellers vil LED forbli av og tilgangs nektet melding vil vises hvis noe annet kort tappes.
4.2: Output
I utgangen kan vi se at RFID -taggen ikke tappes med MFRC522 -sensor, så ingen LED er på:
Berør eller ta med RFID -kortet/taggen i nærheten av sensoren som følger utdata vil vises på seriemonitoren som viser kortet UID:
LED er slått på hvis tilgangen er gitt og UID stemmer overens med den vi definerte inne i koden.
Vi har fullført grensesnitt til RFID -tag med RC522 -sensor ved bruk av Arduino Uno Board og IDE.
Konklusjon
Arduino er et kompakt brett med en rekke GPIO -pinner til grensesnittsensorer og maskinvare. Arduino har innebygd støtte for UART-, SPI- og I2C-protokoll som tillater bruk av sensorer ved bruk av disse Arduino-kommunikasjonsprotokollene. Denne artikkelen dekker Arduino UNO -grensesnitt med RC522 -sensor og kode som kreves for å lese et hvilket som helst RFID -kort/tagg.