Satura rādītājs:

Arduino RFID bloķēšanas apmācība: 6 soļi (ar attēliem)
Arduino RFID bloķēšanas apmācība: 6 soļi (ar attēliem)

Video: Arduino RFID bloķēšanas apmācība: 6 soļi (ar attēliem)

Video: Arduino RFID bloķēšanas apmācība: 6 soļi (ar attēliem)
Video: Электронный замок с RFID на Arduino 2024, Novembris
Anonim
Image
Image
Arduino RFID bloķēšanas apmācība
Arduino RFID bloķēšanas apmācība
Arduino RFID bloķēšanas apmācība
Arduino RFID bloķēšanas apmācība

Dārgie draugi, laipni lūdzam citā Instructable. Tas ir Niks no izglītības8s.tv, un šodien mēs iemācīsimies izmantot šo RFID lasītāju kopā ar Arduino, lai izveidotu vienkāršu bloķēšanas sistēmu.

Pirmo reizi mēs izmantosim RFID tagus ar Arduino. Esmu izveidojis vienkāršu projektu, kas nolasa katra RFID taga unikālo ID (UID), ko ievietojam tuvu lasītājam, un parāda to šajā OLED displejā. Ja taga UID ir vienāds ar iepriekš noteiktu vērtību, kas tiek saglabāta Arduino atmiņā, tad displejā mēs redzēsim ziņojumu “Atbloķēts”. Ja kartes unikālais ID nav vienāds ar iepriekš noteikto vērtību, atbloķēšanas ziņojums netiks parādīts. Forši vai ne?

Ir daudz ko segt, tāpēc sāksim!

1. darbība: iegūstiet visas detaļas

Iegūstiet visas detaļas
Iegūstiet visas detaļas

Lai izveidotu šo projektu, ir nepieciešamas šādas detaļas:

  • Arduino Uno ▶
  • RFID lasītājs ▶
  • OLED displejs ▶
  • Neliels maizes dēlis ▶
  • Daži vadi ▶

Papildu daļas:

Powerbank ▶

Projekta kopējās izmaksas ir aptuveni 15 USD.

2. darbība: RFID lasītājs RC522

RFID lasītājs RC522
RFID lasītājs RC522
RFID lasītājs RC522
RFID lasītājs RC522
RFID lasītājs RC522
RFID lasītājs RC522
RFID lasītājs RC522
RFID lasītājs RC522

Katra RFID birkas iekšpusē ir neliela mikroshēma. Ja es ievietoju lukturīti zem šīs RFID kartes, jūs varat redzēt mazo mikroshēmu un spoli, kas to ieskauj. Šai mikroshēmai nav akumulatora, lai iegūtu enerģiju. Tas saņem jaudu no lasītāja, šīs ierīces, bezvadu režīmā, izmantojot šo lielo spoli. Lasītājs var nolasīt šādu RFID karti no attāluma līdz 20 mm!

Tāda pati mikroshēma pastāv arī atslēgu piekariņu RFID tagos.

Katram RFID tagam ir unikāls numurs, kas to identificē. Tas ir UID, ko mēs parādām OLED displejā. Katrs tags var saglabāt datus, izņemot šo UID. Šāda veida kartēs mēs varam uzglabāt līdz 1K datu! Iespaidīgi vai ne? Mēs šodien neizmantosim šo funkcionalitāti, bet to darīsim nākamajā Instructable. Mūsdienās viss, kas mūs interesē, ir noteikt konkrētu karti pēc tās UID. RFID lasītāja un šo divu RFID karšu izmaksas ir aptuveni 4 USD.

3. darbība: OLED displejs

Image
Image
Savienojiet visas detaļas
Savienojiet visas detaļas

Tas ir ļoti jauks displejs, ko izmantot kopā ar Arduino. Tas ir OLED displejs, un tas nozīmē, ka tam ir zems enerģijas patēriņš. Šī displeja enerģijas patēriņš ir aptuveni 10–20 mA, un tas ir atkarīgs no pikseļu daudzuma.

Displeja izšķirtspēja ir 128 × 64 pikseļi, un tā izmērs ir mazs. Ir divas displeja variācijas. Viens no tiem ir vienkrāsains, un otrs, piemēram, tas, ko izmantoju, var attēlot divas krāsas - dzeltenu un zilu. Ekrāna augšējā daļā var parādīties tikai dzeltens, bet apakšējā - tikai zilā krāsā.

Šis OLED displejs ir ļoti spilgts, un tam ir lielisks bibliotēkas atbalsts. Adafruit ir izveidojis ļoti jauku bibliotēku šim displejam. Papildus tam displejs izmanto I2C saskarni, tāpēc savienojums ar Arduino ir neticami vienkāršs. Jums ir jāpievieno tikai divi vadi, izņemot Vcc un GND. Ja esat jauns Arduino lietotājs un vēlaties ar savu projektu izmantot lētu un viegli lietojamu displeju, sāciet ar displeju. Tas ir vienkāršākais veids, kā pievienot displeju savam Arduino projektam. Esmu sagatavojis detalizētu apmācību par šī displeja izmantošanu, ko esmu pievienojis šai instrukcijai.

4. solis: pievienojiet visas detaļas

Savienojiet visas detaļas
Savienojiet visas detaļas
Savienojiet visas detaļas
Savienojiet visas detaļas
Savienojiet visas detaļas
Savienojiet visas detaļas

Savienojums ar Arduino Uno plati ir ļoti vienkāršs. Sākumā savienosim gan lasītāja, gan displeja jaudu.

Esiet piesardzīgs, RFID lasītājs ir jāpievieno Arduino Uno 3.3V izejai, pretējā gadījumā tas tiks iznīcināts. Tā kā displejs var darboties arī pie 3.3V, mēs savienojam Vcc no abiem moduļiem ar maizes dēļu pozitīvo sliedi. Pēc tam šī sliede ir savienota ar Arduino Uno 3,3 V izeju. Tālāk mēs savienojam abus GND ar maizes dēļa GND sliedi. Tad mēs savienojam maizes dēļa GND sliedi ar Arduino GND.

OLED displejs - Arduino

Vcc ▶ 3.3V

GND ▶ GND

SCL ▶ Analogā tapa 5

SDA ▶ Analogā tapa 4

RFID lasītājs - Arduino

RST ▶ Digitālā tapa 9

IRQ ▶ nav savienots

MISO ▶ Digitālā tapa 12

MOSI ▶ Digitālā tapa 11

SCK ▶ Digitālā tapa 13

SDA ▶ Digitālā tapa 10

RFID lasītāja modulis izmanto SPI saskarni, lai sazinātos ar Arduino. Tāpēc mēs izmantosim Arduino UNO aparatūras SPI tapas. RST tapa nonāk digitālajā tapā 9. IRQ tapa paliek nesaistīta. MISO tapa iet uz digitālo tapu 12. MOSI tapa iet uz ciparu tapu 11. SCK tapa iet uz 13. ciparu tapu un visbeidzot, SDA tapa - uz 10. tapu. RFID lasītājs ir pievienots. Tagad mums ir jāsavieno OLED displejs ar Arduino, izmantojot I2C saskarni. Tātad, displeja SCL tapa tiek pārvietota uz analogo tapu 5 un displeja SDA tapa uz analogo tapu 4. Ja mēs tagad ieslēdzam projektu un novietojam RFID karti lasītāja tuvumā, mēs redzam, ka projekts darbojas labi! Tagad ir pienācis laiks apskatīt projekta kodu.

5. solis: projekta kods

Projekta kodekss
Projekta kodekss

Lai projekta kodu varētu apkopot, mums ir jāiekļauj dažas bibliotēkas. Pirmkārt, mums ir nepieciešama MFRC522 Rfid bibliotēka. Lai to instalētu, dodieties uz Skice -> Iekļaut bibliotēkas -> Pārvaldīt bibliotēkas. Atrodiet MFRC522 un instalējiet to. Mums ir nepieciešama arī Adafruit SSD1306 bibliotēka un Adafruit GFX bibliotēka. Instalējiet abas bibliotēkas ar vienu un to pašu procedūru. Adafruit SSD1306 bibliotēkai ir nepieciešama neliela modifikācija. Dodieties uz mapi Arduino -> Bibliotēkas, atveriet mapi Adafruit SSD1306 un rediģējiet Adafruit_SSD1306.h bibliotēku. Komentāru 70. rindiņa un 69. komentāru rindiņa. Mūsu displeja izšķirtspēja ir 128x64, to mēs šeit definējam. Tagad mēs esam gatavi ātri apskatīt kodu.

Sākumā mēs deklarējam RFID taga vērtību, kuru vēlamies, lai Arduino atpazīst. Tas ir veselu skaitļu masīvs.

int kods = {69, 141, 8, 136}; // Šis ir saglabātais UID

Tālāk mēs inicializējam RFID lasītāju un displeju.

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

Pēc tam cilpas funkcijā ik pēc 100 ms pārbaudām, vai lasītājā nav atzīmes.

Ja uz lasītāja ir atzīme, mēs nolasām tā UID un izdrukājam to displejā. Tālāk mēs salīdzinām tikko nolasītā taga UID ar vērtību, kas tiek saglabāta koda mainīgajā. Ja vērtības ir vienādas, mēs parādām ziņojumu UNLOCK, pretējā gadījumā šo ziņojumu nerādām.

if (match) {Serial.println ("\ nEs zinu šo kartīti!"); printUnlockMessage (); } else {Serial.println ("\ nNezināma karte"); }

Protams, jūs varat mainīt šo kodu, lai saglabātu vairāk nekā 1 UID vērtības, lai projekts atpazītu vairāk RFID tagu.

Šis ir tikai piemērs. Kā vienmēr, jūs varat atrast projekta kodu, kas pievienots šai instrukcijai.

6. darbība. Pēdējās domas un uzlabojumi

Pēdējās domas un uzlabojumi
Pēdējās domas un uzlabojumi

Kā redzat ar ļoti zemām izmaksām, mēs varam saviem projektiem pievienot RFID lasītāju. Mēs varam viegli izveidot drošības sistēmu ar šādu lasītāju vai izveidot jautrāku projektu.

Mans galvenais nodoms ir izveidot dažas interaktīvas spēles bērniem, izmantojot šo RFID lasītāju un daudz RFID tagu. Nākamajā videoklipā mēs arī mēģināsim rakstīt un lasīt datus no RFID taga. Šajā brīdī es vēlētos dzirdēt jūsu viedokli par šo RFID karšu lasītāju. Vai plānojat to izmantot kādā no saviem projektiem? Lūdzu, ievietojiet komentārus vai idejas šajā komentāru sadaļā, paldies!

Ieteicams: