Turinys:

„Arduino“RFID užrakto pamoka: 6 žingsniai (su nuotraukomis)
„Arduino“RFID užrakto pamoka: 6 žingsniai (su nuotraukomis)

Video: „Arduino“RFID užrakto pamoka: 6 žingsniai (su nuotraukomis)

Video: „Arduino“RFID užrakto pamoka: 6 žingsniai (su nuotraukomis)
Video: Arduino pamoka Nr. 6: Kai krinta šviesa – Fotorezistorius 2024, Lapkritis
Anonim
Image
Image
„Arduino“RFID užrakto pamoka
„Arduino“RFID užrakto pamoka
„Arduino“RFID užrakto pamoka
„Arduino“RFID užrakto pamoka

Mieli draugai, sveiki atvykę į kitą „Instructable“. Tai Nikas iš edu8s.tv ir šiandien mes mokysimės naudoti šį RFID skaitytuvą su „Arduino“, kad sukurtume paprastą užrakto sistemą.

Pirmą kartą su „Arduino“naudosime RFID žymes. Sukūriau paprastą projektą, kuris nuskaito kiekvienos šalia skaitytuvo esančios RFID žymos unikalų ID (UID) ir parodo jį šiame OLED ekrane. Jei žymos UID yra lygus iš anksto apibrėžtai vertei, kuri saugoma „Arduino“atmintyje, ekrane matysime pranešimą „Atrakinta“. Jei unikalus kortelės ID nėra lygus iš anksto nustatytai vertei, pranešimas Atrakinti nebus rodomas. Šaunu ar ne?

Yra daug ką padengti, todėl pradėkime!

1 žingsnis: Gaukite visas dalis

Gaukite visas dalis
Gaukite visas dalis

Šiam projektui sukurti reikalingos šios dalys:

  • „Arduino Uno“▶
  • RFID skaitytuvas ▶
  • OLED ekranas ▶
  • Maža duonos lentelė ▶
  • Kai kurie laidai ▶

Papildomos dalys:

„Powerbank“▶

Bendra projekto kaina yra apie 15 USD.

2 žingsnis: RC522 RFID skaitytuvas

RC522 RFID skaitytuvas
RC522 RFID skaitytuvas
RC522 RFID skaitytuvas
RC522 RFID skaitytuvas
RC522 RFID skaitytuvas
RC522 RFID skaitytuvas
RC522 RFID skaitytuvas
RC522 RFID skaitytuvas

Kiekvienos RFID žymos viduje yra mažas lustas. Jei po šia RFID kortele padedu žibintuvėlį, galite pamatyti mažą mikroschemą ir ją supančią ritę. Šis lustas neturi baterijos, kad galėtų gauti energijos. Jis gauna maitinimą iš skaitytuvo, šio įrenginio, belaidžiu būdu, naudodamas šią didelę ritę. Skaitytojas gali skaityti tokią RFID kortelę iš šios iki 20 mm atstumo!

Tas pats lustas yra ir raktų pakabos RFID žymėse.

Kiekviena RFID žyma turi unikalų numerį, kuris ją identifikuoja. Tai UID, kurį rodome OLED ekrane. Kiekviena žyma gali saugoti duomenis, išskyrus šį UID. Šio tipo kortelėse galime saugoti iki 1K duomenų! Įspūdinga ar ne? Šiandien mes nenaudosime šios funkcijos, bet tai padarysime ateityje „Instructable“. Šiandien mus domina tik identifikuoti konkrečią kortelę pagal jos UID. RFID skaitytuvo ir šių dviejų RFID kortelių kaina yra apie 4 USD.

3 žingsnis: OLED ekranas

Image
Image
Prijunkite visas dalis
Prijunkite visas dalis

Tai labai gražus ekranas, kurį galima naudoti su „Arduino“. Tai OLED ekranas ir tai reiškia, kad jis sunaudoja mažai energijos. Šio ekrano energijos suvartojimas yra apie 10–20 mA ir priklauso nuo to, kiek pikselių yra apšviesta.

Ekrano skiriamoji geba yra 128 × 64 pikselių ir jis yra mažo dydžio. Yra du ekrano variantai. Vienas iš jų yra vienspalvis, o kitas, kaip ir aš, gali rodyti dvi spalvas - geltoną ir mėlyną. Viršutinėje ekrano dalyje gali būti rodoma tik geltona spalva, apatinėje - tik mėlyna.

Šis OLED ekranas yra labai ryškus ir puikiai palaiko biblioteką. „Adafruit“sukūrė labai gražią biblioteką šiam ekranui. Be to, ekrane naudojama I2C sąsaja, todėl ryšys su „Arduino“yra neįtikėtinai lengvas. Jums reikia prijungti tik du laidus, išskyrus Vcc ir GND. Jei esate „Arduino“naujokas ir norite, kad su projektu būtų naudojamas nebrangus ir lengvai naudojamas ekranas, pradėkite nuo ekrano. Tai lengviausias būdas pridėti ekraną prie „Arduino“projekto. Aš paruošiau išsamią šio ekrano naudojimo pamoką, kurią pridėjau prie šios instrukcijos.

4 žingsnis: prijunkite visas dalis

Prijunkite visas dalis
Prijunkite visas dalis
Prijunkite visas dalis
Prijunkite visas dalis
Prijunkite visas dalis
Prijunkite visas dalis

Ryšys su „Arduino Uno“plokšte yra labai paprastas. Iš pradžių prijunkime skaitytuvo ir ekrano maitinimą.

Būkite atsargūs, RFID skaitytuvas turi būti prijungtas prie „Arduino Uno“3,3 V išvesties, kitaip jis bus sugadintas. Kadangi ekranas taip pat gali veikti esant 3.3 V įtampai, mes prijungiame Vcc iš abiejų modulių prie duonos lentos teigiamo bėgio. Tada šis bėgelis prijungiamas prie „Arduino Uno“3,3 V išėjimo. Tada abu GND prijungiame prie duonos lentos GND bėgelio. Tada mes prijungiame duonos lentos GND bėgelį prie „Arduino GND“.

OLED ekranas - „Arduino“

Vcc ▶ 3.3V

GND ▶ GND

SCL ▶ Analoginis kaištis 5

SDA ▶ Analoginis kaištis 4

RFID skaitytuvas - „Arduino“

RST ▶ Skaitmeninis kaištis 9

IRQ ▶ Neprijungtas

MISO ▶ Skaitmeninis kaištis 12

MOSI ▶ Skaitmeninis kaištis 11

SCK ▶ Skaitmeninis kaištis 13

SDA ▶ Skaitmeninis kaištis 10

RFID skaitytuvo modulis naudoja SPI sąsają, kad galėtų bendrauti su „Arduino“. Taigi mes naudosime „Arduino UNO“aparatinės įrangos SPI kaiščius. RST kaištis pereina prie skaitmeninio kaiščio 9. IRQ kaištis lieka neprijungtas. MISO kaištis eina į skaitmeninį kaištį 12. MOSI kaištis eina į skaitmeninį kaištį 11. SCK kaištis eina į skaitmeninį kaištį 13 ir galiausiai SDA kaištis eina į skaitmeninį kaištį 10. Štai ir viskas. Prijungtas RFID skaitytuvas. Dabar mes turime prijungti OLED ekraną prie „Arduino“naudodami „I2C“sąsają. Taigi, ekrano SCL kaištis pereina prie analoginio kaiščio 5, o ekrano SDA kaištis - prie analoginio kaiščio 4. Jei dabar įjungsime projektą ir įdėsime RFID kortelę prie skaitytuvo, pamatysime, kad projektas veikia gerai! Dabar atėjo laikas pažvelgti į projekto kodą.

5 žingsnis: projekto kodas

Projekto kodeksas
Projekto kodeksas

Kad projekto kodas būtų sudarytas, turime įtraukti keletą bibliotekų. Visų pirma, mums reikia MFRC522 Rfid bibliotekos. Norėdami jį įdiegti, eikite į Eskizas -> Įtraukti bibliotekas -> Tvarkyti bibliotekas. Ieškokite MFRC522 ir įdiekite. Mums taip pat reikalinga „Adafruit SSD1306“biblioteka ir „Adafruit GFX“biblioteka. Įdiekite abi bibliotekas ta pačia tvarka. „Adafruit SSD1306“biblioteką reikia šiek tiek modifikuoti. Eikite į aplanką „Arduino -> Libraries“, atidarykite aplanką „Adafruit SSD1306“ir redaguokite „Adafruit_SSD1306.h“biblioteką. 70 komentarų eilutė ir 69. komentavimo eilutė. Mūsų ekrano skiriamoji geba yra 128x64, tai mes čia apibrėžiame. Dabar esame pasirengę greitai pažvelgti į kodą.

Iš pradžių deklaruojame RFID žymos vertę, kurią norime, kad „Arduino“atpažintų. Tai yra sveikųjų skaičių masyvas.

int kodas = {69, 141, 8, 136}; // Tai yra išsaugotas UID

Tada inicijuojame RFID skaitytuvą ir ekraną.

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

Po to ciklo funkcijoje kas 100 ms patikriname skaitytuvo žymę.

Jei ant skaitytuvo yra žyma, mes perskaitome jo UID ir atspausdiname jį ekrane. Toliau palyginame ką tik perskaitytos žymos UID su reikšme, kuri saugoma kodo kintamajame. Jei vertės yra tos pačios, rodome pranešimą UNLOCK, kitu atveju nerodome šio pranešimo.

if (match) {Serial.println ("\ nžinau šią kortelę!"); printUnlockMessage (); } else {Serial.println ("\ nNežinoma kortelė"); }

Žinoma, galite modifikuoti šį kodą, kad būtų išsaugotos daugiau nei 1 UID vertės, kad projektas atpažintų daugiau RFID žymų.

Tai tik pavyzdys. Kaip visada, projekto kodą galite rasti prie šios instrukcijos.

6 žingsnis: paskutinės mintys ir patobulinimai

Galutinės mintys ir patobulinimai
Galutinės mintys ir patobulinimai

Kaip matote, turėdami labai mažą kainą, prie savo projektų galime pridėti RFID skaitytuvą. Su tokiu skaitytuvu galime lengvai sukurti saugumo sistemą arba sukurti daugiau įdomių projektų.

Pagrindinis mano tikslas yra sukurti interaktyvius žaidimus vaikams naudojant šį RFID skaitytuvą ir daugybę RFID žymų. Būsimame vaizdo įraše taip pat bandysime rašyti ir skaityti duomenis iš RFID žymos. Šiuo metu norėčiau išgirsti jūsų nuomonę apie šį RFID kortelių skaitytuvą. Ar planuojate jį naudoti bet kuriame savo projekte? Prašome paskelbti komentarus ar idėjas toje komentarų skiltyje, ačiū!

Rekomenduojamas: