Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Arduino RFID Lock-zelfstudie

Componenten en benodigdheden

Arduino UNO
× 1
RFID-lezer (algemeen)
× 1

Apps en online services

Arduino IDE

Over dit project

Beste vrienden welkom bij een nieuwe tutorial. 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 zien we op het display het bericht "Unlocked". Als de unieke ID van de kaart niet gelijk is aan de vooraf gedefinieerde waarde, wordt het bericht Ontgrendelen niet weergegeven. Cool hè?

Er valt 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 ▶ https://store.arduino.cc/arduino-uno-rev3
  • Een RFID-lezer ▶ http://educ8s.tv/part/RFID
  • OLED-scherm ▶ http://educ8s.tv/part/OLED096
  • Een klein breadboard ▶ http://educ8s.tv/part/SmallBreadboard
  • Sommige draden ▶ http://educ8s.tv/part/Wires

Optionele onderdelen:

  • Powerbank ▶ http://educ8s.tv/part/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 wel 1K aan data opslaan! Indrukwekkend is het niet? We zullen deze functionaliteit vandaag niet gebruiken, maar zullen dit doen in een toekomstige tutorial. 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 scherm is ongeveer 10-20 mA en het 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 worden weergegeven, 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 een goedkoop en gebruiksvriendelijk display wilt 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 tutorial opgesteld over het gebruik van dit scherm, die ik bij deze tutorial heb gevoegd.

Stap 4:Sluit alle onderdelen aan

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

Pas op, de RFID-lezer moet worden aangesloten op de 3.3V-uitgang van de Arduino Uno, anders wordt hij 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-display - Arduino

Vcc ▶ 3.3V

GND ▶ GND

SCL ▶ Analoge pin 5

SDA ▶ Analoge pin

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-scherm met Arduino verbinden 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, gaat u naar Sketch -> Inclusief bibliotheken -> Bibliotheken beheren. 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 map Arduino -> Bibliotheken, open de map Adafruit SSD1306 en bewerk de bibliotheek Adafruit_SSD1306.h. 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"); } 

U kunt deze code natuurlijk 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 kun je de code van het project bij deze tutorial vinden.

RFID.ino

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!

Code

  • RFID.ino
  • Codefragment #3
RFID.inoArduino
Geen voorbeeld (alleen downloaden).
Codefragment #3Platte tekst
if(match) { Serial.println("\nIk ken deze kaart!"); printUnlockMessage(); }else { Serial.println("\nOnbekende kaart"); }

Productieproces

  1. Arduino RFID-slot met RC522 - MIFARE-protocol 13,56 Mhz
  2. Tutorial Arduino-vingerafdruksensor
  3. Arduino-zelfstudie:minipiano
  4. DIY-idee met RFID
  5. RFID+Relais+RFID Deurslot Code =RFID PC Switch!
  6. HID Prox RFID naar Arduino
  7. Arduino Ethernet Rfid-kaartlezer
  8. Windows PC vergrendelen/ontgrendelen met RFID
  9. Een Arduino multithreaden (Protothreading Tutorial)
  10. Arduino en MPU6050 versnellingsmeter en gyroscoop zelfstudie
  11. Arduino-zelfstudie 01:Aan de slag