Inhoudsopgave:

Arduino RFID Lock-zelfstudie - Ajarnpa
Arduino RFID Lock-zelfstudie - Ajarnpa

Video: Arduino RFID Lock-zelfstudie - Ajarnpa

Video: Arduino RFID Lock-zelfstudie - Ajarnpa
Video: RFID Module RC522 Interfacing with Arduino Uno/Mega || RFID Module Arduino Tutorial + Code 2020 2024, November
Anonim
Image
Image
Arduino RFID Lock-zelfstudie
Arduino RFID Lock-zelfstudie
Arduino RFID Lock-zelfstudie
Arduino RFID Lock-zelfstudie

Beste vrienden welkom bij een andere Instructable. Dit is Nick van educ8s.tv en vandaag gaan we leren hoe we deze RFID-lezer met Arduino kunnen gebruiken om een eenvoudig sluitsysteem te bouwen.

Voor het eerst gaan we RFID-tags gebruiken met Arduino. Ik heb een eenvoudig project gebouwd dat de unieke ID (UID) leest van elke RFID-tag die we dicht bij de lezer plaatsen en deze op dit OLED-scherm weergeeft. Als de UID van de tag gelijk is aan een vooraf gedefinieerde waarde die is opgeslagen in het geheugen van Arduino, dan zullen we op het display het bericht "Unlocked" zien. Als de unieke ID van de kaart niet gelijk is aan de vooraf gedefinieerde waarde, wordt het bericht Ontgrendelen niet weergegeven. Cool is het niet?

Er is veel te bespreken, dus laten we beginnen!

Stap 1: Verkrijg alle onderdelen

Krijg alle onderdelen
Krijg alle onderdelen

De onderdelen die nodig zijn om dit project te bouwen zijn deze:

  • Een Arduino Uno ▶
  • Een RFID-lezer ▶
  • OLED-scherm ▶
  • Een klein breadboard ▶
  • Sommige draden ▶

Optionele onderdelen:

Powerbank ▶

De totale kosten van het project bedragen ongeveer $ 15.

Stap 2: De RC522 RFID-lezer

De RC522 RFID-lezer
De RC522 RFID-lezer
De RC522 RFID-lezer
De RC522 RFID-lezer
De RC522 RFID-lezer
De RC522 RFID-lezer
De RC522 RFID-lezer
De RC522 RFID-lezer

Elke RFID-tag heeft een kleine chip aan de binnenkant. Als ik een zaklamp onder deze RFID-kaart plaats, zie je de kleine chip en de spoel eromheen. Deze chip heeft geen batterij om stroom te krijgen. Het krijgt stroom van de lezer, dit apparaat, draadloos met behulp van deze grote spoel. De lezer kan een RFID-kaart zoals deze lezen op een afstand tot 20 mm!

Dezelfde chip bestaat ook in RFID-tags in sleutelhangers.

Elke RFID-tag heeft een uniek nummer dat deze identificeert. Dat is de UID die we op het OLED-scherm weergeven. Behalve deze UID kan elke tag gegevens opslaan. In dit type kaarten kunnen we tot 1K aan data opslaan! Indrukwekkend is het niet? We zullen deze functionaliteit vandaag niet gebruiken, maar zullen dit doen in een toekomstige Instructable. Tegenwoordig zijn we alleen geïnteresseerd in het identificeren van een specifieke kaart aan de hand van zijn UID. De kosten van de RFID-lezer en deze twee RFID-kaarten bedragen ongeveer $ 4.

Stap 3: OLED-scherm

Image
Image
Sluit alle onderdelen aan!
Sluit alle onderdelen aan!

Dit is een heel mooi scherm om te gebruiken met Arduino. Het is een OLED-display en dat betekent dat hij een laag stroomverbruik heeft. Het stroomverbruik van dit beeldscherm ligt rond de 10-20 mA en dit hangt af van het aantal verlichte pixels.

Het scherm heeft een resolutie van 128×64 pixels en is klein van formaat. Er zijn twee varianten van het display. Een daarvan is monochroom en de andere, zoals degene die ik gebruik, kan twee kleuren weergeven, geel en blauw. Het bovenste deel van het scherm kan alleen geel weergeven, het onderste deel alleen blauw.

Dit OLED-scherm is erg helder en heeft een geweldige bibliotheekondersteuning. Adafruit heeft een hele mooie bibliotheek voor deze display ontwikkeld. Daarnaast maakt het display gebruik van de I2C-interface, dus de verbinding met Arduino is ongelooflijk eenvoudig. U hoeft slechts twee draden aan te sluiten, behalve Vcc en GND. Als Arduino nieuw voor u is en u wilt een goedkoop en gebruiksvriendelijk display voor uw project, begin dan met display. Het is de gemakkelijkste manier om een display aan uw Arduino-project toe te voegen. Ik heb een gedetailleerde zelfstudie opgesteld over het gebruik van dit scherm dat ik aan deze Instructable heb toegevoegd.

Stap 4: Sluit alle onderdelen aan

Sluit alle onderdelen aan!
Sluit alle onderdelen aan!
Sluit alle onderdelen aan!
Sluit alle onderdelen aan!
Sluit alle onderdelen aan!
Sluit alle onderdelen aan!

De verbinding met het Arduino Uno-bord is heel eenvoudig. Laten we eerst de stroom van zowel de lezer als het scherm aansluiten.

Wees voorzichtig, de RFID-lezer moet worden aangesloten op de 3.3V-uitgang van de Arduino Uno, anders wordt deze vernietigd. Omdat het display ook op 3,3V kan werken, verbinden we de Vcc van beide modules met de positieve rail van de breadboard. Deze rail wordt vervolgens aangesloten op de 3.3V uitgang van de Arduino Uno. Vervolgens verbinden we beide GND's met de GND-rail van het breadboard. Vervolgens verbinden we de GND-rail van het breadboard met Arduino GND.

OLED-scherm - Arduino

Vcc ▶ 3.3V

GND ▶ GND

SCL ▶ Analoge pin 5

SDA (analoge pin 4)

RFID-lezer - Arduino

RST ▶ Digitale pin 9

IRQ ▶ Niet verbonden

MISO ▶ Digitale pin 12

MOSI (digitale pin 11)

SCK ▶ Digitale pin 13

SDA ▶ Digitale pin 10

De RFID-leesmodule gebruikt de SPI-interface om met Arduino te communiceren. We gaan dus de hardware SPI-pinnen van de Arduino UNO gebruiken. RST-pin gaat naar digitale pin 9. IRQ-pin blijft los. MISO-pin gaat naar digitale pin 12. MOSI-pin gaat naar digitale pin 11. SCK-pin gaat naar digitale pin 13 en ten slotte gaat SDA-pin naar digitale pin 10. Dat is alles. De RFID-lezer is aangesloten. We moeten nu het OLED-display verbinden met Arduino via de I2C-interface. Dus de SCL-pin van het scherm gaat naar analoge pin 5 en de SDA-pin van het scherm naar analoge pin 4. Als we nu het project opstarten en een RFID-kaart dicht bij de lezer plaatsen, kunnen we zien dat het project goed werkt! Nu is het tijd om de code van het project te bekijken.

Stap 5: De code van het project

De code van het project
De code van het project

Om de projectcode te compileren, moeten we enkele bibliotheken opnemen. Allereerst hebben we de MFRC522 Rfid-bibliotheek nodig. Om het te installeren, ga naar Sketch -> Inclusief bibliotheken -> Beheer bibliotheken. Zoek naar MFRC522 en installeer het. We hebben ook de Adafruit SSD1306-bibliotheek en de Adafruit GFX-bibliotheek nodig voor de weergave. Installeer beide bibliotheken met dezelfde procedure. De Adafruit SSD1306 bibliotheek heeft een kleine aanpassing nodig. Ga naar de Arduino -> Bibliotheken map, open de Adafruit SSD1306 map en bewerk de Adafruit_SSD1306.h bibliotheek. Commentaarregel 70 en uncommentregel 69. Ons beeldscherm heeft een resolutie van 128x64, dat is wat we hier definiëren. Nu zijn we klaar om de code snel te bekijken.

Eerst declareren we de waarde van de RFID-tag die we willen dat de Arduino herkent. Het is een array van gehele getallen.

int-code = {69, 141, 8, 136}; //Dit is de opgeslagen UID

Vervolgens initialiseren we de RFID-lezer en het display.

rfid. PCD_Init();display.begin(SSD1306_SWITCHCAPVCC, 0x3C);

Hierna controleren we in de loop-functie elke 100 ms op een tag op de lezer.

Als er een tag op de lezer zit, lezen we de UID en printen we deze op het display. Vervolgens vergelijken we de UID van de tag die we zojuist hebben gelezen, met de waarde die is opgeslagen in de codevariabele. Als de waarden hetzelfde zijn, geven we het UNLOCK-bericht weer, anders wordt dit bericht niet weergegeven.

if(match) { Serial.println("\nIk ken deze kaart!"); printUnlockMessage(); }else { Serial.println("\nOnbekende kaart"); }

Natuurlijk kunt u deze code wijzigen om meer dan 1 UID-waarden op te slaan, zodat het project meer RFID-tags kan herkennen.

Dit is slechts een voorbeeld. Zoals altijd vindt u de code van het project dat aan deze Instructable is gekoppeld.

Stap 6: Laatste gedachten en verbeteringen

Laatste gedachten en verbeteringen
Laatste gedachten en verbeteringen

Zoals u kunt zien, kunnen we tegen zeer lage kosten een RFID-lezer toevoegen aan onze projecten. We kunnen gemakkelijk een beveiligingssysteem bouwen met een lezer zoals deze of meer leuke projecten bouwen.

Mijn belangrijkste bedoeling is om een aantal interactieve spelletjes voor kinderen te bouwen met behulp van deze RFID-lezer en veel RFID-tags. In een toekomstige video zullen we ook proberen om gegevens van een RFID-tag te schrijven en te lezen. Op dit punt zou ik graag uw mening horen over deze RFID-kaartlezer. Ben je van plan het in een van je projecten te gebruiken? Plaats eventuele opmerkingen of ideeën in die opmerkingen hieronder, bedankt!

Aanbevolen: