Innholdsfortegnelse:

Hvordan bruke RFID-RC522-modulen med Arduino: 5 trinn
Hvordan bruke RFID-RC522-modulen med Arduino: 5 trinn

Video: Hvordan bruke RFID-RC522-modulen med Arduino: 5 trinn

Video: Hvordan bruke RFID-RC522-modulen med Arduino: 5 trinn
Video: Arduino | RFID RC522 Thêm/Xóa Nhiều Thẻ | PHẦN 1 2024, November
Anonim
Hvordan bruke RFID-RC522-modulen med Arduino
Hvordan bruke RFID-RC522-modulen med Arduino

I denne instruksjonsboken vil jeg gi en gjennomgang av det grunnleggende arbeidsprinsippet for RFID -modulen kombinert med tagger og chips. Jeg vil også gi et kort eksempel på et prosjekt jeg laget med denne RFID -modulen med en RGB LED. Som vanlig med mine instrukser, vil jeg gi en kort oversikt i løpet av de første trinnene, og vil legge igjen en omfattende, detaljert forklaring i det siste trinnet for de som er interessert.

Rekvisita:

RC522 RFID-modul + identifikasjonskode og kort-https://www.amazon.com/SunFounder-Mifare-Reader-Ar…

RGB LED + tre 220 ohm motstander

Trinn 1: Maskinvaretilkoblinger

Maskinvaretilkoblinger
Maskinvaretilkoblinger

I dette prosjektet brukte jeg Arduino Mega, men du kan bruke hvilken som helst mikrokontroller du vil ha siden dette er et relativt lite ressursprosjekt, det eneste som ville være annerledes er pin-tilkoblingene for SCK, SDA, MOSI, MISO og RST siden de er forskjellige på hvert brett. Hvis du ikke bruker Mega, kan du se toppen av dette skriptet som vi snart vil bruke:

RFID:

SDA (hvit) - 53

SCK (oransje) - 52

MOSI (gul) - 51

MISO (grønn) - 50

RST (blå) - 5

3.3v - 3.3v

GND - GND

(Merk: Selv om leseren strengt krever 3,3V, er pinnene 5V tolerante, noe som gjør at vi kan bruke denne modulen med Arduinos og andre 5V DIO mikrokontrollere)

RGB LED:

Rød katode (lilla) - 8

GND - GND

Grønn katode (grønn) - 9

Blå katode (blå) - 10

Trinn 2: Programvare

Programvare
Programvare

Nå til programvaren.

Først må vi installere MFRC522 -biblioteket for å kunne få, skrive og behandle RFID -data. Github -lenken er: https://github.com/miguelbalboa/rfid, men du kan også installere den via biblioteksjefen i Arduino IDE eller på PlatformIO. Før vi kan lage vårt eget, tilpassede program for å håndtere og behandle RFID -data, må vi først få de faktiske UID -ene for kortet og taggen vår. For det må vi laste opp denne skissen:

(Arduino IDE: eksempler> MFRC522> DumpInfo)

(PlatformIO: PIO Home> biblioteker> installert> MFRC522> eksempler> DumpInfo)

Det denne skissen gjør er i hovedsak å trekke ut all informasjon som finnes på et kort, inkludert UID i heksadesimal form. For eksempel er UID for kortet mitt 0x72 0x7D 0xF5 0x1D (se bilde). Resten av den utskrevne datastrukturen er informasjonen på kortet som vi kan lese eller skrive til. Jeg vil gå mer i dybden i den siste delen.

Trinn 3: Programvare (2)

Programvare (2)
Programvare (2)

Som vanlig med mine instrukser, vil jeg forklare programvaren i linje-for-linje-kommentarer, slik at hver del av koden kan forklares i forhold til dens funksjon i resten av skriptet, men det den egentlig gjør er å identifisere kortet som er lese og enten gi eller nekte tilgang. Det avslører også en hemmelig melding hvis riktig kort skannes to ganger.

github.com/belsh/RFID_MEGA/blob/master/mfr….

Trinn 4: RFID; Forklart

RFID; Forklart
RFID; Forklart

I leseren er det en radiofrekvensmodul og en antenne som genererer et elektromagnetisk felt. Kortet, derimot, inneholder en brikke som kan lagre informasjon og tillate oss å endre den ved å skrive til en av dens mange blokker, som jeg vil gå nærmere inn på i neste avsnitt når den faller inn under RFIDs datastruktur.

Arbeidsprinsippet for RFID -kommunikasjon er ganske enkelt. Leserantennen (i vårt tilfelle er antennen på RC522 den innebygde spolelignende strukturen i ansiktet) som sender radiobølger, som igjen vil aktivere en spole i kortet/taggen (i umiddelbar nærhet) og det konvertert elektrisitet vil bli brukt av transponderen (enhet som mottar og sender ut radiofrekvenssignaler) i kortet for å sende tilbake informasjonen som er lagret i den i form av flere radiobølger. Dette er kjent som backscatter. I den neste delen vil jeg diskutere den spesifikke datastrukturen som brukes av kortet/taggen for å lagre informasjon som vi enten kan lese eller skrive til.

Trinn 5: RFID; Forklart (2)

RFID; Forklart (2)
RFID; Forklart (2)

Hvis du ser på toppen av utdataene fra skriptet vårt som ble lastet opp tidligere, vil du legge merke til at kortets type er PICC 1 KB, noe som betyr at det har 1 KB minne. Dette minnet er allokert til en datastruktur som består av 16 sektorer som bærer 4 blokker, som hver bærer 16 byte med data (16 x 4 x 16 = 1024 = 1 KB). Den siste blokken i hver sektor (AKA Sector Trailer) vil være reservert for å gi lese- / / skrivetilgang til resten av sektoren, noe som betyr at vi bare har de tre første blokkene å jobbe med når det gjelder lagring og lesing av data.

(Merk: den første blokken i sektor 0 er kjent som produsentblokken og inneholder viktig informasjon som produsentdata; endring av denne blokken kan låse kortet ditt helt, så vær forsiktig når du prøver å skrive data til den)

Glad i tinker.

Anbefalt: