INHOUDSOPGAWE:

Arduino RFID -slotstudie: 6 stappe (met foto's)
Arduino RFID -slotstudie: 6 stappe (met foto's)

Video: Arduino RFID -slotstudie: 6 stappe (met foto's)

Video: Arduino RFID -slotstudie: 6 stappe (met foto's)
Video: VMA405 : RFID module Arduino Tutorial 2024, November
Anonim
Image
Image
Arduino RFID -slotstudie
Arduino RFID -slotstudie
Arduino RFID -slotstudie
Arduino RFID -slotstudie

Geagte vriende welkom by 'n ander instruksies. Dit is Nick van educ8s.tv en vandag gaan ons leer hoe om hierdie RFID -leser met Arduino te gebruik om 'n eenvoudige slotstelsel te bou.

Vir die eerste keer gaan ons RFID -etikette saam met Arduino gebruik. Ek het 'n eenvoudige projek gebou wat die unieke ID (UID) van elke RFID -etiket wat ons naby die leser plaas, lees en dit op hierdie OLED -skerm vertoon. As die UID van die merker gelyk is aan 'n vooraf gedefinieerde waarde wat in die geheue van Arduino gestoor is, sien ons die boodskap "Ontsluit" op die skerm. As die unieke ID van die kaart nie gelyk is aan die vooraf gedefinieerde waarde nie, sal die ontsluitboodskap nie verskyn nie. Cool is dit nie?

Daar is baie om te dek, so laat ons begin!

Stap 1: Kry al die onderdele

Kry al die onderdele
Kry al die onderdele

Die onderdele wat nodig is om hierdie projek te bou, is die volgende:

  • 'N Arduino Uno ▶
  • 'N RFID -leser ▶
  • OLED -skerm ▶
  • 'N Klein broodbord ▶
  • Sommige drade ▶

Opsionele onderdele:

Powerbank ▶

Die totale koste van die projek is ongeveer $ 15.

Stap 2: Die RC522 RFID -leser

Die RC522 RFID -leser
Die RC522 RFID -leser
Die RC522 RFID -leser
Die RC522 RFID -leser
Die RC522 RFID -leser
Die RC522 RFID -leser
Die RC522 RFID -leser
Die RC522 RFID -leser

Elke RFID -etiket het 'n klein skyfie binne. As ek 'n flitslig onder hierdie RFID -kaart plaas, sien u die klein skyfie en die spoel wat dit omring. Hierdie chip het nie 'n battery om krag te kry nie. Dit ontvang krag van die leser, hierdie toestel, draadloos met behulp van hierdie groot spoel. Die leser kan 'n RFID -kaart soos hierdie op 'n afstand tot 20 mm lees!

Dieselfde chip bestaan ook in RFID -etikette met sleutelhanger.

Elke RFID -etiket het 'n unieke nommer wat dit identifiseer. Dit is die UID wat ons op die OLED -skerm vertoon. Behalwe hierdie UID, kan elke etiket data stoor. In hierdie tipe kaarte kan ons tot 1K data stoor! Indrukwekkend is dit nie? Ons sal nie vandag hierdie funksie gebruik nie, maar ons sal dit in 'n toekomstige instruksie doen. Vandag het ons net daarin belang om 'n spesifieke kaart aan die UID te identifiseer. Die koste van die RFID -leser en hierdie twee RFID -kaarte beloop ongeveer $ 4.

Stap 3: OLED -skerm

Image
Image
Verbind al die onderdele
Verbind al die onderdele

Dit is 'n baie mooi skerm om saam met Arduino te gebruik. Dit is 'n OLED -skerm en dit beteken dat dit 'n lae kragverbruik het. Die kragverbruik van hierdie skerm is ongeveer 10-20 mA en dit hang af van hoeveel pixels aangesteek word.

Die skerm het 'n resolusie van 128 × 64 pixels en is klein. Daar is twee variasies van die skerm. Een daarvan is monochroom, en die ander een, soos die een wat ek gebruik, kan twee kleure vertoon, geel en blou. Die boonste deel van die skerm kan slegs geel vertoon, die onderste deel slegs blou.

Hierdie OLED -skerm is baie helder en bied uitstekende biblioteekondersteuning. Adafruit het 'n baie mooi biblioteek vir hierdie uitstalling ontwikkel. Boonop gebruik die skerm die I2C -koppelvlak, sodat die verbinding met Arduino ongelooflik maklik is. U hoef slegs twee drade aan te sluit, behalwe Vcc en GND. As u nuut is in Arduino, en u wil 'n goedkoop en maklik gebruikbare skerm hê om saam met u projek te gebruik, begin dan met die vertoning. Dit is die maklikste manier om 'n skerm by u Arduino -projek te voeg. Ek het 'n gedetailleerde handleiding opgestel oor die gebruik van hierdie skerm wat ek by hierdie instruksies aangeheg het.

Stap 4: Verbind al die onderdele

Verbind al die onderdele
Verbind al die onderdele
Verbind al die onderdele
Verbind al die onderdele
Verbind al die onderdele
Verbind al die onderdele

Die verbinding met die Arduino Uno -bord is baie eenvoudig. Kom ons koppel eers die krag van beide die leser en die skerm.

Wees versigtig, die RFID -leser moet gekoppel wees aan die 3.3V -uitgang van die Arduino Uno, anders word dit vernietig. Aangesien die skerm ook op 3.3V kan werk, koppel ons die Vcc van beide modules aan die positiewe spoor van die broodborde. Hierdie spoor word dan gekoppel aan die 3.3V -uitset van die Arduino Uno. Vervolgens verbind ons albei GND's met die GND -spoor op die broodbord. Dan koppel ons die GND -spoor van die broodbord aan die Arduino GND.

OLED -skerm - Arduino

Vcc ▶ 3.3V

GND ▶ GND

SCL ▶ Analoog pen 5

SDA ▶ Analoog pen 4

RFID -leser - Arduino

RST ▶ Digitale pen 9

IRQ ▶ Ongekoppel

MISO ▶ Digitale pen 12

MOSI ▶ Digitale pen 11

SCK ▶ Digitale pen 13

SDA ▶ Digitale pen 10

Die RFID -lesermodule gebruik die SPI -koppelvlak om met Arduino te kommunikeer. Dus gaan ons die hardeware SPI -penne van die Arduino UNO gebruik. RST -pen gaan na digitale pen 9. IRQ -pen bly nie verbind nie. MISO -pen gaan na digitale pen 12. MOSI -pen gaan na digitale pen 11. SCK -pen gaan na digitale pen 13 en laastens gaan SDA -pen na digitale pen 10. Dit is dit. Die RFID -leser is gekoppel. Ons moet nou die OLED -skerm met Arduino verbind met die I2C -koppelvlak. Die SCL -pen van die skerm gaan dus na Analog Pin 5 en SDA -pin van die skerm na Analog Pin 4. As ons die projek nou aanskakel en 'n RFID -kaart naby die leser plaas, kan ons sien dat die projek goed werk! Dit is nou tyd om na die kode van die projek te kyk.

Stap 5: Die kode van die projek

Die kode van die projek
Die kode van die projek

Om die projekkode saam te stel, moet ons 'n paar biblioteke insluit. In die eerste plek het ons die MFRC522 Rfid -biblioteek nodig. Om dit te installeer, gaan na Skets -> Sluit biblioteke in -> Bestuur biblioteke. Soek MFRC522 en installeer dit. Ons benodig ook die Adafruit SSD1306 -biblioteek en die Adafruit GFX -biblioteek vir die vertoning. Installeer albei biblioteke met dieselfde prosedure. Die Adafruit SSD1306 -biblioteek benodig 'n klein aanpassing. Gaan na die gids Arduino -> Libraries, maak die gids Adafruit SSD1306 oop en wysig die Adafruit_SSD1306.h -biblioteek. Kommentaarreël 70 en kommentaarreël 69. Ons skerm het 'n resolusie van 128x64, dit is wat ons hier definieer. Nou is ons gereed om vinnig na die kode te kyk.

Eers verklaar ons die waarde van die RFID -tag wat ons wil hê die Arduino moet herken. Dit is 'n verskeidenheid heelgetalle.

int -kode = {69, 141, 8, 136}; // Dit is die gestoorde UID

Vervolgens initialiseer ons die RFID -leser en die skerm.

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

Daarna kyk ons in die lusfunksie elke 100 ms na 'n etiket op die leser.

As daar 'n etiket op die leser is, lees ons die UID en druk ons dit op die skerm. Vervolgens vergelyk ons die UID van die etiket wat ons pas gelees het, met die waarde wat in die kode veranderlike gestoor is. As die waardes dieselfde is, vertoon ons die UNLOCK -boodskap, anders wys ons hierdie boodskap nie.

if (match) {Serial.println ("\ nEk ken hierdie kaart!"); printUnlockMessage (); } anders {Serial.println ("\ nUnbekende kaart"); }

U kan hierdie kode natuurlik verander om meer as 1 UID -waardes te stoor sodat die projek meer RFID -etikette kan herken.

Dit is maar net 'n voorbeeld. Soos altyd kan u die kode van die projek vind wat by hierdie instruksies aangeheg is.

Stap 6: Laaste gedagtes en verbeterings

Laaste gedagtes en verbeterings
Laaste gedagtes en verbeterings

Soos u kan sien met 'n baie lae koste, kan ons 'n RFID -leser by ons projekte voeg. Ons kan maklik 'n sekuriteitstelsel bou met 'n leser soos hierdie of meer prettige projekte bou.

My hoofdoel is om 'n paar interaktiewe speletjies vir kinders te bou met behulp van hierdie RFID -leser en baie RFID -etikette. In 'n toekomstige video sal ons ook probeer om data van 'n RFID -etiket te skryf en te lees. Op hierdie stadium hoor ek graag u mening oor hierdie RFID -kaartleser. Beplan u dit in enige van u projekte? Plaas asseblief enige kommentaar of idees in die kommentaarafdeling hieronder, dankie!

Aanbeveel: