Sisukord:
- Samm: hankige kõik osad
- 2. samm: RC522 RFID -lugeja
- Samm: OLED -ekraan
- Samm: ühendage kõik osad
- Samm: projekti kood
- 6. samm: lõplikud mõtted ja täiustused
Video: Arduino RFID lukustuse õpetus: 6 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Kallid sõbrad, tere tulemast teise Instructable'i. See on Nick saidilt education8s.tv ja täna õpime kasutama seda RFID -lugejat koos Arduinoga, et luua lihtne lukusüsteem.
Esmakordselt kasutame Arduinoga RFID -silte. Olen koostanud lihtsa projekti, mis loeb iga lugeja lähedale asetatud RFID -märgendi kordumatu ID (UID) ja kuvab selle sellel OLED -ekraanil. Kui märgendi UID on võrdne eelnevalt määratletud väärtusega, mis on salvestatud Arduino mällu, näeme ekraanil teadet „Lukustamata”. Kui kaardi kordumatu ID ei ole võrdne eelnevalt määratletud väärtusega, ei kuvata avamise teadet. Lahe kas pole?
Katta on palju, nii et alustame!
Samm: hankige kõik osad
Selle projekti loomiseks vajalikud osad on järgmised:
- Arduino Uno ▶
- RFID -lugeja ▶
- OLED -ekraan ▶
- Väike leivalaud ▶
- Mõned juhtmed ▶
Valikulised osad:
Powerbank ▶
Projekti kogumaksumus on umbes 15 dollarit.
2. samm: RC522 RFID -lugeja
Iga RFID -sildi sees on väike kiip. Kui panen taskulambi selle RFID -kaardi alla, näete väikest kiipi ja mähist, mis seda ümbritseb. Sellel kiibil pole toite saamiseks akut. See saab voolu lugejalt, seadmelt, juhtmevabalt, kasutades seda suurt mähist. Lugeja saab sellist RFID -kaarti lugeda kuni 20 mm kauguselt!
Sama kiip on olemas ka võtmehoidja RFID -siltides.
Igal RFID -sildil on kordumatu number, mis seda identifitseerib. See on UID, mida kuvame OLED -ekraanil. Iga silt võib andmeid salvestada, välja arvatud sellest UID -st. Seda tüüpi kaartidesse saame salvestada kuni 1K andmeid! Muljetavaldav kas pole? Me ei kasuta seda funktsiooni täna, kuid kasutame seda tulevases Instructable'is. Täna oleme huvitatud ainult konkreetse kaardi identifitseerimisest selle UID järgi. RFID -lugeja ja nende kahe RFID -kaardi hind on umbes 4 dollarit.
Samm: OLED -ekraan
See on väga tore ekraan Arduinoga kasutamiseks. See on OLED -ekraan ja see tähendab, et sellel on väike energiatarve. Selle ekraani energiatarve on umbes 10-20 mA ja see sõltub pikslite arvust.
Ekraani eraldusvõime on 128 × 64 pikslit ja see on väikese suurusega. Ekraanil on kaks varianti. Üks neist on ühevärviline ja teine, nagu see, mida ma kasutan, võib kuvada kahte värvi - kollast ja sinist. Ekraani ülemises osas saab kuvada ainult kollast, alumises osas ainult sinist värvi.
See OLED -ekraan on väga hele ja sellel on suurepärane raamatukogutugi. Adafruit on selle väljapaneku jaoks välja töötanud väga kena raamatukogu. Lisaks kasutab ekraan I2C liidest, nii et ühendus Arduinoga on uskumatult lihtne. Peate ühendama ainult kaks juhtmest, välja arvatud Vcc ja GND. Kui olete Arduino uus ja soovite oma projektiga kasutada odavat ja hõlpsasti kasutatavat ekraani, alustage kuvariga. See on lihtsaim viis ekraani lisamiseks oma Arduino projekti. Olen koostanud üksikasjaliku õpetuse selle ekraani kasutamise kohta, mille olen lisanud käesolevale juhendile.
Samm: ühendage kõik osad
Ühendus Arduino Uno plaadiga on väga lihtne. Algul ühendame nii lugeja kui ka ekraani toite.
Olge ettevaatlik, RFID -lugeja tuleb ühendada Arduino Uno 3,3 V väljundiga, vastasel juhul hävitatakse see. Kuna ekraan võib töötada ka 3.3V juures, ühendame Vcc mõlemast moodulist leivaplaatide positiivse rööpaga. See rööp on seejärel ühendatud Arduino Uno 3,3 V väljundiga. Seejärel ühendame mõlemad GND -d leivaplaadi GND -rööpaga. Seejärel ühendame leivalaua GND rööpa Arduino GND -ga.
OLED -ekraan - Arduino
Vcc ▶ 3.3V
GND ▶ GND
SCL ▶ Analoogtapp 5
SDA ▶ Analoogtapp 4
RFID -lugeja - Arduino
RST ▶ Digitaalne tihvt 9
IRQ ▶ Ühendamata
MISO ▶ Digitaalne tihvt 12
MOSI ▶ Digitaalne tihvt 11
SCK ▶ Digitaalne tihvt 13
SDA ▶ Digitaalne tihvt 10
RFID -lugeja moodul kasutab Arduinoga suhtlemiseks SPI -liidest. Nii et me kasutame Arduino UNO riistvara SPI -tihvte. RST tihvt läheb digitaalsele tihvtile 9. IRQ tihvt jääb ühendamata. MISO tihvt läheb digitaalsele tihvtile 12. MOSI -tihvt läheb digitaalsele tihvtile 11. SCK -tihvt läheb digitaalsele tihvtile 13 ja lõpuks läheb SDA -tihvt digitaalsele tihvtile 10. See on kõik. RFID -lugeja on ühendatud. Nüüd peame ühendama OLED -ekraani Arduinoga, kasutades I2C liidest. Niisiis, ekraani SCL -tihvt läheb analoogpistikule 5 ja ekraani SDA -tihvt analoogpinnale 4. Kui nüüd lülitame projekti sisse ja asetame RFID -kaardi lugeja lähedale, näeme, et projekt töötab hästi! Nüüd on aeg vaadata projekti koodi.
Samm: projekti kood
Projekti koodi koostamiseks peame lisama mõned raamatukogud. Kõigepealt vajame raamatukogu MFRC522 Rfid. Selle installimiseks avage Sketch -> Kaasa teegid -> Halda teeke. Otsige üles MFRC522 ja installige see. Samuti vajame kuvamiseks Adafruit SSD1306 raamatukogu ja Adafruit GFX raamatukogu. Installige mõlemad teegid sama protseduuriga. Adafruit SSD1306 raamatukogu vajab väikest muudatust. Minge kausta Arduino -> Raamatukogud, avage kaust Adafruit SSD1306 ja muutke Adafruit_SSD1306.h kogu. Kommentaaririda 70 ja kommentaaririda 69. Meie ekraani eraldusvõime on 128x64, seda me siin määratleme. Nüüd oleme valmis koodi kiiresti vaatama.
Esialgu deklareerime RFID -märgendi väärtuse, mida soovime, et Arduino tuvastaks. See on täisarvude massiiv.
int -kood = {69, 141, 8, 136}; // See on salvestatud UID
Seejärel lähtestame RFID -lugeja ja ekraani.
rfid. PCD_Init (); display.begin (SSD1306_SWITCHCAPVCC, 0x3C);
Pärast seda kontrollime silmusefunktsioonis iga 100 ms tagant lugejal silti.
Kui lugejal on silt, loeme selle UID -d ja prindime selle ekraanile. Järgmisena võrdleme äsja loetud märgendi UID -d koodimuutujale salvestatud väärtusega. Kui väärtused on samad, kuvame sõnumi UNLOCK, muidu seda teadet ei kuvata.
if (match) {Serial.println ("\ nMa tean seda kaarti!"); printUnlockMessage (); } else {Serial.println ("\ nTundmatu kaart"); }
Loomulikult saate seda koodi muuta, et salvestada rohkem kui 1 UID -väärtust, et projekt tuvastaks rohkem RFID -silte.
See on vaid näide. Nagu alati, leiate selle juhendile lisatud projekti koodi.
6. samm: lõplikud mõtted ja täiustused
Nagu näete väga madala hinnaga, saame oma projektidesse lisada RFID -lugeja. Sellise lugejaga saame hõlpsasti luua turvasüsteemi või lõbusamaid projekte.
Minu peamine eesmärk on luua lastele interaktiivseid mänge, kasutades seda RFID -lugejat ja palju RFID -silte. Ühes tulevases videos proovime ka RFID -märgendist andmeid kirjutada ja lugeda. Siinkohal tahaksin kuulda teie arvamust selle RFID -kaardilugeja kohta. Kas kavatsete seda kasutada mõnes oma projektis? Palun postitage kommentaarid või ideed sellesse kommentaaride sektsiooni, aitäh!
Soovitan:
Arduino RFID 'Smart Door' õpetus: 7 sammu
Arduino RFID-nutika ukse õpetus: Peter Tran, 10ELT1 Selles õpetuses töötate koos mikro-servo jõul töötava ukse avamiseks RFID-lugeja mooduliga! Veenduge, et teil oleks sisenemiseks õige juurdepääsukaart, mitte helisignaali ega sissetungijate tulesid. Teid juhendatakse st
Arduino MFRC522 õpetus - kas RFID -silt on olemas või eemaldatud?: 6 sammu
Arduino MFRC522 õpetus - kas RFID -silt on olemas või eemaldatud?: See õpetus on algselt postitatud kõrgepingele
Arduino klaviatuuri 4x4 õpetus: 4 sammu (piltidega)
Arduino klaviatuuri 4x4 õpetus: klaviatuuri sisend näidati jadamonitorile arduino uno ja 4x4 klahvistiku täiskoodiga
Juhtige oma LED -e teleri kaugjuhtimispuldiga ?! -- Arduino IR õpetus: 5 sammu (piltidega)
Juhtige oma LED -e teleri kaugjuhtimispuldiga ?! || Arduino IR õpetus: Selles projektis näitan teile, kuidas telerite taga asuvaid LED -e juhtimiseks oma teleri kaugjuhtimispuldi kasutuid nuppe ümber paigutasin. Seda tehnikat saate kasutada ka kooditöötluse abil igasuguste asjade juhtimiseks. Räägin natuke ka teooriast
Puuduva SD-kaardi lukustuse parandamine: 3 sammu
Parandage puuduvat SD-kaardi lukku: Tere, see on minu esimene juhendatav ja ma ei oska inglise keelt nii hästi, palun olge kena. Täna tahtsin salvestada andmeid oma SD-kaardile, kuid lukk (see hall asi, mille tõmbate alla kaart oli kirjutuskaitsega) puudu. Nii et ma googeldasin ja sain teada, et