Inhoudsopgave:
- Stap 1: Verkrijg alle onderdelen
- Stap 2: De RC522 RFID-lezer
- Stap 3: OLED-scherm
- Stap 4: Sluit alle onderdelen aan
- Stap 5: De code van het project
- Stap 6: Laatste gedachten en verbeteringen
Video: Arduino RFID Lock-zelfstudie - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
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
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
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
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
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
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
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:
Smart Central Lock: 6 stappen (met afbeeldingen)
Smart Central Lock: het voelt geweldig als je de macht hebt om dingen op afstand te bedienen. Smart Central Lock-apparaat voor motorfiets (fiets). met dit apparaat kunt u het contactslot van uw fiets bedienen. u kunt het op afstand vergrendelen/ontgrendelen. Kan ook de motor starten en stoppen
Arduino Lock-spel: 5 stappen
Arduino Lock Game: Dit kleine lock-spel zal een nummer willekeurig maken en je laten raden! Het spel wordt bestuurd door 3 knoppen en het nummer is altijd 1-9. Geef commentaar op eventuele aanbevelingen of problemen en ik zal proberen ze op te lossen
Miniatuur draagbare lock-in-versterker (en sonarsysteem voor wearables, enz.): 7 stappen
Miniatuur draagbare lock-in-versterker (en sonarsysteem voor wearables, enz.): Bouw een miniatuur, goedkope lock-in-versterker die kan worden ingebed in brilmonturen en om een sonarvisiesysteem voor blinden of een eenvoudige echografie te creëren machine die je hart continu bewaakt en Human-Machine Learning gebruikt om te waarschuwen voor p
Porto-lock: Draagbaar slot: 5 stappen
Porto-lock: Draagbaar slot: Hallo allemaal, dus toen het op dit project aankwam, wilde ik iets ontwerpen dat eenvoudig was, omdat het een eenvoudig probleem oplost, geen sloten in je CR-kraam. De meeste mensen schreven me in het begin af door te zeggen: is het niet gewoon eenvoudiger om sloten te installeren? Zijn
Websitegestuurde Lock Box: 4 stappen
Websitegestuurde lockbox: dit is een vergrendelde box die kan worden geopend door een prompt op een website te geven. Dit betekent dat u dingen in de doos kunt opbergen en er pas toegang toe kunt krijgen als iemand een bepaalde wachtwoordzin op een openbare website heeft ingevoerd. Waarom zou men dit nodig hebben? Hier is een ex