Inhoudsopgave:

Hoe de RFID-RC522-module met Arduino te gebruiken - Ajarnpa
Hoe de RFID-RC522-module met Arduino te gebruiken - Ajarnpa

Video: Hoe de RFID-RC522-module met Arduino te gebruiken - Ajarnpa

Video: Hoe de RFID-RC522-module met Arduino te gebruiken - Ajarnpa
Video: Arduino RFID | How to Use RFID RC522 with Arduino 2024, November
Anonim
Hoe de RFID-RC522-module met Arduino te gebruiken?
Hoe de RFID-RC522-module met Arduino te gebruiken?

In deze Instructable geef ik een overzicht van het fundamentele werkingsprincipe van de RFID-module in combinatie met de tags en chips. Ik zal ook een kort voorbeeld geven van een project dat ik heb gemaakt met behulp van deze RFID-module met een RGB-led. Zoals gewoonlijk met mijn Instructables, zal ik een kort overzicht geven in de eerste paar stappen en een uitgebreide, gedetailleerde uitleg achterlaten in de laatste stap voor geïnteresseerden.

Benodigdheden:

RC522 RFID-module + identificatielabel en kaart -

RGB LED + drie 220 ohm weerstanden

Stap 1: Hardwareverbindingen

Hardware-verbindingen
Hardware-verbindingen

In dit project heb ik de Arduino Mega gebruikt, maar je zou elke microcontroller kunnen gebruiken die je wilt, aangezien dit een project met relatief weinig middelen is, het enige dat anders zou zijn, zijn de pinverbindingen voor SCK, SDA, MOSI, MISO en RST omdat ze op elk bord anders zijn. Als je de Mega niet gebruikt, raadpleeg dan de bovenkant van dit script dat we binnenkort zullen gebruiken:

RFID:

SDA (wit) - 53

SCK (oranje) - 52

MOSI (geel) - 51

MISO (groen) - 50

RST (blauw) - 5

3.3v - 3.3v

GND - GND

(Opmerking: hoewel de lezer strikt 3,3V nodig heeft, zijn de pinnen 5V-tolerant, waardoor we deze module kunnen gebruiken met Arduino's en andere 5V DIO-microcontrollers)

RGB-LED:

Rode kathode (paars) - 8

GND - GND

Groene kathode (groen) - 9

Blauwe kathode (blauw) - 10

Stap 2: Software

Software
Software

Nu op naar de software.

Eerst moeten we de MFRC522-bibliotheek installeren om RFID-gegevens te kunnen ophalen, schrijven en verwerken. De github-link is: https://github.com/miguelbalboa/rfid, maar je zou het ook kunnen installeren via de bibliotheekmanager in de Arduino IDE of op PlatformIO. Voordat we ons eigen, aangepaste programma kunnen maken om RFID-gegevens te verwerken en te verwerken, moeten we eerst de daadwerkelijke UID's voor onze kaart en tag hebben. Daarvoor moeten we deze schets uploaden:

(Arduino IDE: voorbeelden > MFRC522 > DumpInfo)

(PlatformIO: PIO Home > bibliotheken > geïnstalleerd > MFRC522 > voorbeelden > DumpInfo)

Wat deze schets doet, is in wezen alle informatie op een kaart extraheren, inclusief de UID in hexadecimale vorm. De UID van mijn kaart is bijvoorbeeld 0x72 0x7D 0xF5 0x1D (zie afbeelding). De rest van de uitgeprinte gegevensstructuur is de informatie die op de kaart aanwezig is en waarnaar we kunnen lezen of schrijven. In het laatste deel ga ik dieper in.

Stap 3: Software (2)

Software (2)
Software (2)

Zoals gebruikelijk bij mijn Instructables, zal ik de software regel voor regel uitleggen, zodat elk deel van de code kan worden uitgelegd in relatie tot zijn functie in de rest van het script, maar wat het in wezen doet, is de kaart identificeren die wordt gebruikt lezen en verleent of weigert toegang. Het onthult ook een geheime boodschap als de juiste kaart twee keer wordt gescand.

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

Stap 4: RFID; uitgelegd

RFID; uitgelegd
RFID; uitgelegd

In de reader bevindt zich een radiofrequentiemodule en een antenne die een elektromagnetisch veld opwekt. De kaart daarentegen bevat een chip die informatie kan opslaan en ons in staat stelt deze te wijzigen door naar een van de vele blokken te schrijven, waarop ik in de volgende sectie meer in detail zal treden, aangezien deze onder de gegevensstructuur van RFID valt.

Het werkingsprincipe van RFID-communicatie is vrij eenvoudig. De antenne van de lezer (in ons geval is de antenne op de RC522 de ingebedde spoelachtige structuur op de voorkant) die radiogolven uitzendt, die op hun beurt een spoel in de kaart/tag van energie zullen voorzien (in de onmiddellijke nabijheid) en die geconverteerde elektriciteit zal worden gebruikt door de transponder (apparaat dat radiofrequentiesignalen ontvangt en uitzendt) in de kaart om de informatie die erin is opgeslagen terug te sturen in de vorm van meer radiogolven. Dit staat bekend als backscatter. In de volgende sectie zal ik de specifieke gegevensstructuur bespreken die door de kaart/tag wordt gebruikt om informatie op te slaan die we kunnen lezen of schrijven.

Stap 5: RFID; Uitgelegd (2)

RFID; Uitgelegd (2)
RFID; Uitgelegd (2)

Als je bovenaan de uitvoer van ons eerder geüploade script kijkt, zul je zien dat het type kaart PICC 1 KB is, wat betekent dat het 1 KB geheugen heeft. Dit geheugen is toegewezen aan een gegevensstructuur die bestaat uit 16 sectoren met 4 blokken, die elk 16 bytes aan gegevens bevatten (16 x 4 x 16 = 1024 = 1 KB). Het laatste blok in elke sector (AKA Sector Trailer) wordt gereserveerd voor het verlenen van lees-//schrijftoegang tot de rest van de sector, wat betekent dat we alleen de eerste 3 blokken hebben om mee te werken in termen van het opslaan en lezen van gegevens.

(Opmerking: het eerste blok van sector 0 staat bekend als het fabrikantblok en bevat essentiële informatie zoals fabrikantgegevens; als u dit blok wijzigt, kan uw kaart volledig worden vergrendeld, dus wees voorzichtig wanneer u probeert er gegevens naar te schrijven)

Gelukkig knutselen.

Aanbevolen: