Elektronický zámok pre arduino nano. Vytvorenie zámku RFID pomocou Arduina

V tejto lekcii sa naučíme, ako si vyrobiť jednoduchý systém, ktorý odomkne zámok pomocou elektronického kľúča (Tag).

V budúcnosti môžete upravovať a rozširovať funkcie. Pridajte napríklad funkciu „pridať nové kľúče a odstrániť ich z pamäte“. V základnom prípade si predstavte jednoduchý príklad, keď je v kóde programu prednastavený jedinečný identifikátor kľúča.

V tomto návode budeme potrebovať:

Na realizáciu projektu potrebujeme nainštalovať knižnice:

2) Teraz musíte pripojiť bzučiak, ktorý vydá signál, ak sa stlačí kľúč a otvorí sa zámok, a druhý signál pri zatvorení zámku.

Bzučiak pripájame v nasledujúcom poradí:

Arduino Bzučiak
5V VCC
GND GND
špendlík 5 IO

3) Servo bude použité ako odblokovací mechanizmus. Je možné zvoliť akékoľvek servo v závislosti od vami požadovaných rozmerov a síl, ktoré servo vytvára. Servo má 3 piny:

Jasnejšie, ako sme spojili všetky moduly, môžete vidieť na obrázku nižšie:

Teraz, ak je všetko pripojené, môžete pokračovať v programovaní.

Skica:

#include #include #include // "RFID" knižnica. #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522 (SS_PIN, RST_PIN); unsigned long uidDec, uidDecTemp; // na uloženie čísla štítku v desiatkovom formáte Servo servo; void setup () (Serial.begin (9600); Serial.println ("Čaká sa na kartu ..."); SPI.begin (); // inicializácia SPI / Init SPI bus.mfrc522.PCD_Init (); // inicializácia MFRC522 / Init MFRC522 card.servo.attach (6); servo.write (0); // nastavenie serva na uzavreté) void loop () (// Nájsť nový štítok, ak (! Mfrc522.PICC_IsNewCardPresent ()) (návrat ; ) // Vyberte štítok, ak (! Mfrc522.PICC_ReadCardSerial ()) (návrat;) uidDec = 0; // Vydajte sériové číslo label.for (bajt i = 0; i< mfrc522.uid.size; i++) { uidDecTemp = mfrc522.uid.uidByte[i]; uidDec = uidDec * 256 + uidDecTemp; } Serial.println("Card UID: "); Serial.println(uidDec); // Выводим UID метки в консоль. if (uidDec == 3763966293) // Сравниваем Uid метки, если он равен заданому то серва открывает. { tone(5, 200, 500); // Делаем звуковой сигнал, Открытие servo.write(90); // Поворациваем серву на угол 90 градусов(Отпираем какой либо механизм: задвижку, поворациваем ключ и т.д.) delay(3000); // пауза 3 сек и механизм запирается. tone(5, 500, 500); // Делаем звуковой сигнал, Закрытие } servo.write(0); // устанавливаем серву в закрытое сосотояние }

Pozrime sa bližšie na náčrt:

Aby ste zistili UID karty (tagy), musíte napísať tento náčrt do arduina, zostaviť obvod popísaný vyššie a otvoriť konzolu (monitorovanie sériového portu). Keď prinesiete štítok do RFID, na konzole sa zobrazí číslo

Výsledné UID je potrebné zadať do nasledujúceho riadku:

If (uidDec == 3763966293) // Porovnajte Uid štítku, ak sa rovná danému, servo otvorí ventil.

Každá karta má jedinečný identifikátor a neopakuje sa. Keď teda prinesiete kartu, ktorej identifikátor máte nastavený v programe, systém otvorí prístup pomocou servopohonu.

Video:

Arduino je najlepší systém na kopírovanie akéhokoľvek hardvéru. Väčšina nápadov by bez nej nebola možná. Už dlho existuje taká myšlienka: vytvoriť špeciálny kombinačný zámok na arduino. Ak ho chcete otvoriť, musíte podržať určitý kláves. V tomto prípade by sa zámok nemal otvárať, aj keď poznáte požadované tlačidlo. Na jej otvorenie je potrebné udržiavať určité intervaly pomocou svalovej pamäte. Taký zločinec nemôže. Ale toto všetko je len teória.

Na jeho zber je potrebné použiť špeciálne zariadenie obdĺžnikových impulzov, ako aj niekoľko počítadiel a hromadu. Ale hotové zariadenie by malo veľké rozmery a bolo by nepohodlné na používanie. Takéto myšlienky spravidla nedávajú odpočinok. Prvým krokom k splneniu tohto sna bolo vytvorenie programu pre Arduino. Je to ona, ktorá bude slúžiť ako kombinovaný zámok. Ak ho chcete otvoriť, musíte stlačiť nie jedno tlačidlo, ale niekoľko a urobiť to súčasne. Hotový okruh vyzerá takto:

Kvalita obrazu nie je najlepšia, ale spojenie so zemou, D3, D5, D7, D9 a D11 je vykonané.

Kód je zobrazený nižšie:

Const int ina = 3; const int inb = 5; const int inc = 9; const int ledPin = 13; int i = 1000; byte a = 0; bajt b = 0; bajt c = 0; byte d = 0; dlhý čas bez znamienka = 0; // nezabudni na všetko, čo preberá millis () unsigned long temp = 0; // uloženie do dlhého bajtu bez znamienka keya = (0, 0, 0, 0, 0, 0, 0, 0); // kódy správneho bajtu keyb = (1, 1, 1, 1, 0, 1, 0, 0); byte keyc = (1, 0, 1, 0, 1, 1, 1, 0); bajt k = 0; void setup () (pinMode (ina, INPUT_PULLUP); // 3 vstupy pripojené k tlačidlám pinMode (inb, INPUT_PULLUP); pinMode (inc, INPUT_PULLUP); pinMode (ledPin, OUTPUT); // vstavaná LED na 13. pin pinMode (7, OUTPUT); pinMode (11, OUTPUT); digitalWrite (7, LOW); // nahradenie uzemnenia digitalWrite (11, LOW); čas = milis (); // potrebné na načasovanie) void bliknutie dvakrát () ( // dvojité bliknutie LED digitalWrite (ledPin, HIGH); oneskorenie (100); digitalWrite (ledPin, LOW); oneskorenie (100); digitalWrite (ledPin, HIGH); oneskorenie (100); digitalWrite (ledPin, LOW) ; oneskorenie ( 200);) void loop () (if (k == 0) (bliknutie dvakrát (); // výzva na zadanie kódu) if (k == 8) (digitalWrite (ledPin, HIGH); oneskorenie (3000); k = 0 ;) a = digitalRead (ina); // úrovne signálu sa čítajú z tlačidiel - stlačené / nestlačené b = digitalRead (inb); c = digitalRead (inc); oneskorenie (100); // ďalej, ak - ochrana proti falošne pozitívnym výsledkom nemusíte použiť if ((digitalRead (ina) == a) && (digitalRead (inb) == b) && (digitalRead (inc) == c)) (if (a == keya [k]) (ak (b == keyb [k]) (if (c == keyc [k]) (k ++; )))) if (k == 1) (if (d == 0) (čas = milis (); d ++;)) teplota = milis (); temp = temp - čas; if (teplota > 10 000) (k = 0; d = 0; čas = milis ();))

Aby sa predišlo zbytočným otázkam o kódexe, je potrebné objasniť niektoré body. Funkcia nastavenia sa používa na priradenie portov. Ďalšou funkciou je Input_Pullup, ktorá je potrebná na zvýšenie napätia na pine o 5 V. To sa robí pomocou odporu. Vďaka tomu nedôjde k rôznym skratom. Pre väčšie pohodlie sa odporúča použiť funkciu blikania dvakrát. Vo všeobecnosti platí, že pri vytváraní rôznych programov je potrebné vyskúšať iné funkcie.

Po priradení funkcií sa signál načítava z portov. Ak je tlačidlo stlačené, bude to označené číslom 1, ak nie - 2. Ďalej sa analyzujú všetky hodnoty. Objavila sa napríklad kombinácia ako 0,1,1. To znamená, že prvé tlačidlo je stlačené a ďalšie dve nie. Ak sú všetky hodnoty pravdivé, platí aj podmienka 8. Svedčí o tom rozsvietená LED dióda na prednom paneli. Ďalej musíte zadať špecifický kód, ktorý bude slúžiť na otvorenie dverí.

Posledné prvky kódu slúžia na vynulovanie hodnôt počítadla. Táto funkcia sa vykoná, ak od posledného stlačenia tlačidla uplynulo viac ako 10 sekúnd. Bez tohto kódu bolo možné vymenovať všetky možné možnosti, aj keď ich je pomerne veľa. Po vytvorení tohto zariadenia ho musíte otestovať. Viac

Minule som pozeral The Amazing Spider-Man a v jednej scéne Peter Parker na diaľku otvára a zatvára dvere zo svojho notebooku. Hneď ako som to videl, hneď som si uvedomil, že potrebujem aj takýto elektronický zámok na vchodové dvere.

S trochou majstrovania som dal dokopy funkčný model inteligentného zámku. V tomto článku vám poviem, ako som to poskladal ja.

Krok 1: Zoznam materiálov





Na zostavenie elektronického zámku na Arduino budete potrebovať nasledujúce materiály:

elektronika:

  • 5V nástenný adaptér

Komponenty:

  • 6 skrutiek pre západku
  • lepenka
  • drôty

Nástroje:

  • spájkovačka
  • lepiaca pištoľ
  • vŕtať
  • vŕtať
  • pilotný vrták
  • papiernický nôž
  • počítač s programom Arduino IDE

Krok 2: ako funguje zámok

Myšlienka je, že môžem otvoriť alebo zatvoriť dvere bez kľúča a bez toho, aby som k nim musel ísť. Ale to je len základná myšlienka, pretože môžete pridať aj senzor klepania, aby reagoval na špeciálne klopanie, alebo môžete pridať systém rozpoznávania hlasu!

Rameno serva pripojené k západke sa zatvára (0 °) a otvára (60 °) pomocou príkazov prijatých cez modul Bluetooth.

Krok 3: Schéma zapojenia


Najprv pripojíme servo k doske Arduino (všimnite si, že hoci mám dosku Arduino Nano, rozloženie pinov je úplne rovnaké na doske Uno).

  • hnedý vodič serva je uzemnený, pripojíme ho k zemi na Arduine
  • červený vodič je plus, pripájame ho do 5V konektora na Arduine
  • oranžový vodič - výstup zdroja serva, pripojíme na 9 pin na Arduine

Pred pokračovaním v montáži vám odporúčam vyskúšať servo. Ak to chcete urobiť, v programe Arduino IDE v príkladoch vyberte Sweep. Po uistení, že servo funguje, môžeme pripojiť modul Bluetooth. Musíte pripojiť rx pin modulu Bluetooth k tx pinu Arduina a tx pin modulu k rx pinu Arduina. Ale ešte to nerobte! Po prispájkovaní týchto spojení už nebudete môcť nahrávať žiadne kódy do Arduina, preto si najprv stiahnite všetky svoje kódy a až potom spoje spájkujte.

Tu je schéma zapojenia modulu a mikrokontroléra:

  • Modul Rx - doska Tx Arduino
  • Tx modul - Rx dosky
  • Vcc (kladný) modulu - 3,3 V dosky Arduino
  • Zem je spojená so zemou (zem so zemou)

Ak sa vám zdá vysvetlenie mätúce, postupujte podľa uvedenej schémy zapojenia.

Krok 4: Test

Teraz, keď máme všetky diely v akcii, uistime sa, že servo dokáže pohnúť skrutkou. Pred montážou západky na dvere som zostavil testovací kus, aby som sa uistil, že servo je dostatočne výkonné. Najprv sa mi zdalo, že mám slabé servo a pridal som kvapku oleja na skrutku, potom to išlo dobre. Je veľmi dôležité, aby mechanizmus dobre kĺzal, inak riskujete uväznenie vo svojej izbe.

Krok 5: kryt pre elektrické komponenty



Rozhodol som sa dať do puzdra iba ovládač a Bluetooth modul a servo nechať vonku. Aby sme to urobili, na kúsku kartónu zakrúžkujeme obrys dosky Arduino Nano a po obvode pridáme 1 cm miesta a vystrihneme. Potom sme tiež vyrezali ďalších päť strán puzdra. V prednej stene budete musieť vyrezať otvor pre napájací kábel ovládača.

Rozmery strán puzdra:

  • Spodná časť - 7,5x4 cm
  • Poťah - 7,5x4 cm
  • Ľavá bočná stena - 7,5x4 cm
  • Pravá bočná stena - 7,5x4 cm
  • Predná stena - 4x4 cm (s otvorom pre napájací kábel)
  • Zadná stena - 4x4 cm

Krok 6: Aplikácia

Na ovládanie ovládača potrebujete miniaplikáciu pre Android alebo Windows so vstavaným Bluetooth. Fungovanie aplikácie na apple zariadeniach som nemal možnosť vyskúšať, možno budú potrebné nejaké ovládače.

Som si istý, že niektorí z vás to majú možnosť otestovať. Pre Android si stiahnite aplikáciu Bluetooth Terminal, pre Windows si stiahnite TeraTerm. Potom je potrebné pripojiť modul k vášmu smartfónu, názov by mal byť linvor, heslo by malo byť 0000 alebo 1234. Hneď ako je spárovanie nadviazané, otvorte nainštalovanú aplikáciu, zadajte možnosti a vyberte „Nadviazať spojenie (nezabezpečené)“ . Váš smartfón je teraz sériový monitor Arduino, čo znamená, že môžete komunikovať s ovládačom.

Ak zadáte 0, dvere sa zatvoria a na obrazovke smartfónu sa zobrazí správa „Dvierka zatvorené“.
Ak zadáte 1, uvidíte dvere otvorené a na obrazovke sa zobrazí správa „Otvorené dvere“.
V systéme Windows je postup rovnaký, až na to, že si musíte nainštalovať aplikáciu TeraTerm.

Krok 7: Namontujte skrutku


Najprv musíte pripojiť servo k západke. Za týmto účelom odrežte zátky z montážnych otvorov krytu pohonu. Ak nasadíme servo, montážne otvory by mali byť v jednej rovine so západkou. Potom musíte umiestniť páku serva do otvoru západky, kde bola rukoväť západky. Skontrolujte, ako sa zámok pohybuje v puzdre. Ak je všetko v poriadku, zaistite rameno serva lepidlom.

Teraz musíte vyvŕtať vodiace otvory pre skrutky vo dverách. Za týmto účelom pripevnite západku k dverám a ceruzkou označte otvory pre skrutky na krídle dverí. Na vyznačených miestach vyvŕtajte cca 2,5 cm hlboké otvory pre skrutky.Pripevnite západku a zaistite skrutkami. Ešte raz skontrolujte servo.

Krok 8: Napájanie


Na dokončenie zariadenia budete potrebovať napájací zdroj, kábel a mini usb zástrčku na pripojenie k Arduinu.
Pripojte uzemňovací kolík napájacieho zdroja k uzemňovaciemu kolíku mini usb portu, pripojte červený vodič k červenému vodiču mini usb portu, potom veďte vodič od zámku k závesu dverí a odtiaľ do zásuvky.

Krok 9: Kód

#include Servo myservo; int pos = 0; int stav; int príznak = 0; void setup () (myservo.attach (9); Serial.begin (9600); myservo.write (60); delay (1000);) void loop () (ak (Serial.available ()> 0) (stav = Serial.read (); flag = 0;) // ak je stav "0", jednosmerný motor sa vypne, ak (stav == "0") (myservo.write (8); oneskorenie (1000); Serial. println ("Dvere zamknuté");) else if (stav == "1") (myservo.write (55); oneskorenie (1000); Serial.println ("Dvere odomknuté");))

Krok 10: Dokončený zámok Arduino

Užite si svoj zámok na diaľkové ovládanie a nezabudnite "omylom" zamknúť priateľov v izbe.

Dnešná lekcia o tom, ako pomocou RFID čítačky s Arduinom vytvoriť jednoduchý uzamykací systém, jednoducho povedané - RFID zámok.

RFID (anglicky Radio Frequency IDentification, radiofrekvenčná identifikácia) je metóda automatickej identifikácie objektov, pri ktorej sa pomocou rádiových signálov čítajú alebo zapisujú údaje uložené v takzvaných transpondéroch alebo RFID tagoch. Akýkoľvek RFID systém pozostáva z čítačky (čítačky, čítačky alebo dotazovača) a transpondéra (aka RFID tag, niekedy sa používa aj termín RFID tag).

Tento návod bude používať RFID tag z Arduina. Zariadenie načíta jedinečný identifikátor (UID) každého RFID tagu, ktorý umiestnime vedľa čítačky a zobrazí ho na OLED displeji. Ak sa UID tagu rovná preddefinovanej hodnote, ktorá je uložená v pamäti Arduina, na displeji sa zobrazí správa „Unlocked“. Ak sa jedinečný identifikátor nerovná preddefinovanej hodnote, nezobrazí sa hlásenie "Odomknuté" - viď foto nižšie.

Zámok je zatvorený

Zámok je otvorený

Podrobnosti potrebné na vytvorenie tohto projektu:

  • RFID čítačka RC522
  • OLED displej
  • Doska na chlieb
  • Drôty

Ďalšie podrobnosti:

  • Batéria (powerbanka)

Celkové náklady na komponenty projektu boli približne 15 dolárov.

Krok 2: RFID čítačka RC522

Každý štítok RFID má malý čip (na obrázku je biela karta). Ak namierite baterku na túto RFID kartu, uvidíte malý čip a cievku, ktorá ju obklopuje. Tento čip nemá batériu na výrobu energie. Prijíma energiu z čítačky bezdrôtovo pomocou tejto veľkej cievky. Takúto RFID kartu je možné prečítať až na vzdialenosť 20 mm.

Rovnaký čip sa nachádza na štítkoch RFID kľúčenky.

Každý štítok RFID má jedinečné číslo, ktoré ho identifikuje. Toto je UID, ktoré sa zobrazuje na OLED displeji. Okrem tohto UID môže každá značka ukladať údaje. Na tento typ karty je možné uložiť až 1 000 údajov. Pôsobivé, však? Táto funkcia sa dnes nepoužije. Dnes je jediným záujmom identifikácia konkrétnej karty pomocou jej UID. Cena čítačky RFID a týchto dvoch kariet RFID je približne 4 USD.

Krok 3: OLED displej

Tento tutoriál používa 0,96" 128x64 I2C OLED monitor.

Toto je veľmi dobrý displej pre použitie s Arduino. Je to OLED displej a to znamená, že má nízku spotrebu. Spotreba energie tohto displeja je cca 10-20mA a závisí od počtu pixelov.

Displej má rozlíšenie 128 x 64 pixelov a je maličký. K dispozícii sú dve možnosti zobrazenia. Jedna z nich je monochromatická a druhá, podobne ako tá, ktorá sa používa v návode, môže zobrazovať dve farby: žltú a modrú. Horná časť obrazovky môže byť iba žltá a spodná modrá.

Tento OLED displej je veľmi jasný a má skvelú a veľmi peknú knižnicu, ktorú Adafruit pre tento displej vyvinul. Okrem toho displej používa rozhranie I2C, takže pripojenie k Arduinu je neuveriteľne jednoduché.

Potrebujete pripojiť iba dva vodiče, okrem Vcc a GND. Ak ste novým používateľom Arduina a chcete vo svojom projekte použiť lacný a jednoduchý displej, začnite tu.

Krok 4: pripojte všetky detaily

Komunikácia s doskou Arduino Uno je veľmi jednoduchá. Najprv pripojte napájanie čítačky aj displeja.

Buďte opatrní, čítačka RFID musí byť pripojená k 3,3V výstupu Arduino Uno, inak sa poškodí.

Keďže displej môže bežať aj na 3,3 V, pripojíme VCC z oboch modulov na kladnú koľajnicu doštičky na pečenie. Táto zbernica je potom pripojená k 3,3V výstupu z Arduino Uno. Potom pripojíme obe uzemnenia (GND) k uzemňovacej zbernici kontaktnej dosky. Potom pripojíme GND zbernicu kontaktnej dosky k Arduino GND.

OLED displej → Arduino

SCL → Analógový kolík 5

SDA → Analógový kolík 4

RFID čítačka → Arduino

RST → Digitálny kolík 9

IRQ → Nepripojené

MISO → Digitálny kolík 12

MOSI → Digitálny pin 11

SCK → Digitálny kolík 13

SDA → Digitálny pin 10

Modul RFID čítačky využíva rozhranie SPI na komunikáciu s Arduinom. Preto použijeme hardvérové ​​SPI piny z Arduino UNO.

Pin RST prejde na digitálny pin 9. Pin IRQ zostane odpojený. Pin MISO ide na digitálny pin 12. Pin MOSI ide na digitálny pin 11. Pin SCK ide na digitálny pin 13 a nakoniec pin SDA ide na digitálny pin 10. To je všetko.

Pripojená čítačka RFID. Teraz musíme pripojiť OLED displej k Arduinu pomocou rozhrania I2C. Takže SCL pin na displeji ide na analógový pin 5 a SDA na displeji na analógový pin 4. Ak teraz zapneme projekt a umiestnime RFID kartu vedľa čítačky, vidíme, že projekt funguje dobre.

Krok 5: Kód projektu

Aby bolo možné skompilovať kód projektu, musíme zahrnúť nejaké knižnice. V prvom rade potrebujeme knižnicu MFRC522 Rfid.

Ak ho chcete nainštalovať, prejdite na Skica -> Zahrnúť knižnice -> Spravovať knižnice(Správa knižnice). Nájdite MFRC522 a nainštalujte ho.

Na mapovanie potrebujeme aj knižnicu Adafruit SSD1306 a knižnicu Adafruit GFX.

Nainštalujte obe knižnice. Knižnica Adafruit SSD1306 potrebuje malú úpravu. Prejdite do priečinka Arduino -> Knižnice, otvorte priečinok Adafruit SSD1306 a upravte knižnicu Adafruit_SSD1306.h... Komentujte riadok 70 a odkomentujte riadok 69, pretože displej má rozlíšenie 128x64.

Najprv deklarujeme hodnotu RFID tagu, ktorý musí Arduino rozpoznať. Toto je pole celých čísel:

Int kód = (69,141,8,136); // UID

Potom inicializujeme RFID čítačku a zobrazíme:

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

Potom vo funkcii loop kontrolujeme tag na čítačke každých 100 ms.

Ak je na čítačke štítok, načítame jeho UID a vytlačíme ho na displej. Potom porovnáme UID značky, ktorú sme práve prečítali, s hodnotou uloženou v premennej kódu. Ak sú hodnoty rovnaké, vytlačíme správu UNLOCK, inak túto správu nezobrazíme.

If (zhoda) (Serial.println ("\ nPoznám túto kartu!"); PrintUnlockMessage ();) else (Serial.println ("\ nNeznáma karta");)

Tento kód môžete samozrejme zmeniť tak, aby uložil viac ako 1 hodnotu UID, aby projekt rozpoznal viac štítkov RFID. Toto je len príklad.

Kód projektu:

#include #include #include #include #define OLED_RESET 4 displej Adafruit_SSD1306 (OLED_RESET); #define SS_PIN 10 #define RST_PIN 9 MFRC522 rfid (SS_PIN, RST_PIN); // Inštancia triedy MFRC522 :: Kľúč MIFARE_Key; int kód = (69,141,8,136); // Toto je uložené UID int codeRead = 0; reťazec uidString; void setup () (Serial.begin (9600); SPI.begin (); // Init SPI bus rfid.PCD_Init (); // Init MFRC522 display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // inicializácia pomocou I2C addr 0x3D (pre 128x64) // Vymažte buffer.display.clearDisplay (); display.display (); display.setTextColor (WHITE); // alebo BLACK); display.setTextSize (2); display.setCursor (10,0); display.print ("RFID Lock"); display.display (); ) void loop () (if (rfid.PICC_IsNewCardPresent ()) (readRFID ();) oneskorenie (100);) void readRFID () (rfid.PICC_ReadCardSerial (); Serial.print (F ("\ nPICC typ:") ); MFRC522 :: PICC_Type piccType = rfid.PICC_GetType (rfid.uid.sak); Serial.println (rfid.PICC_GetTypeName (piccType)); // Kontrola je PICC klasického typu MIFARE =:2 MFC52picType! : PICC_TYPE_MIFARE_1K && piccType! = MFRC522 :: PICC_TYPE_MIFARE_4K) (Serial.println (F ("Vaša značka nie je typu MIFARE Classic.")); return;) clearUID (); return;) clearUID (); Naskenované PICC "s UID:"); printDec (rfid.uid.uidByte, rfid.uid.size); uidString = String (rfid.uid.uidByte) + "" + String (rfid.uid.uidByte) + "" + String (rfid. uid.uidByte) + "" + Reťazec (rfid.uid.uidByte); printUID (); int i = 0; boolovská zhoda = pravda; zatiaľ čo (i

Krok 6: konečný výsledok

Ako môžete vidieť z lekcie - za málo peňazí môžete do svojich projektov pridať čítačku RFID. Pomocou tejto čítačky si jednoducho vytvoríte bezpečnostný systém alebo vytvoríte zaujímavejšie projekty, napríklad tak, že dáta z USB disku sa budú čítať až po odomknutí.

Tento projekt je modulárny, t.j. môžete pripojiť / odpojiť rôzne prvky a získať rôzne funkcie. Vyššie uvedené obrázky zobrazujú možnosť s plnou funkčnosťou, a to:

  • Blokovací mechanizmus... Slúži na OTVÁRANIE a ZATVORENIE dvierok. Tento projekt zahŕňa použitie troch rôznych mechanizmov:
    • Servo. Sú veľké, sú malé. Veľmi kompaktný a s ťažkou skrutkou je skvelou voľbou
    • Elektrický pohon zámku dverí auta. Veľká a silná vec, ktorá však žerie len šialené prúdy
    • Solenoidová západka. Dobrá voľba, pretože sa zabuchne sám

    V nastaveniach firmvéru si môžete vybrať ktorýkoľvek z troch typov (nastavenie lock_type)

  • Tlačidlo vo vnútri... Slúži na OTVÁRANIE a ZATVORENIE dverí zvnútra. Dá sa umiestniť na kľučku dverí (na dlani alebo na prsty), na samotné dvere alebo na zárubňu
  • Vonku tlačidlo... Slúži na ZATVORENIE dvierok, ako aj na PREBUDENIE z úspory energie. Dá sa umiestniť na kľučku dverí (na dlani alebo na prsty), na samotné dvere alebo na zárubňu
  • Koncová zastávka zavrieť dvere. Slúži na automatické zatvorenie zámku pri zatvorení dverí. Môžu byť:
    • Taktovacie tlačidlo
    • Hallov senzor + magnet na samotnych dverach
    • Jazýčkový spínač + magnet na samotných dverách
  • Tajomstvo tlačidlo resetovania prístupu... Slúži na obnovenie hesla / zadanie nového hesla / zapamätanie nového kľúča / kombinácie atď. Môže byť skrytý niekde v puzdre
  • Dióda vyžarujúca svetlo na označenie práce. Používajú sa RGB LED, červená a zelená farba (pri zmiešaní dávajú žltú):
    • Svieti na zeleno - zámok je OTVORENÝ. Horí, aby ste nezabudli zavrieť dvierka
    • Svieti žltá - systém sa prebudil a čaká na zadanie hesla
    • Bliká na červeno - batéria je vybitá

Ktorýkoľvek z týchto prvkov možno zo systému vylúčiť:

  • Odstránime koncový spínač. Vo firmvéri v nastaveniach ho tiež vypneme (nast tlačidlo chvosta). Teraz na zatvorenie zámku musíte stlačiť tlačidlo
  • Odstránime vonkajšie tlačidlo. Vo firmvéri v nastaveniach ho tiež zakážeme (nastavenie tlačidlo prebudenia). Teraz už systém nie je potrebné prebúdzať, zobudí sa sám (spotreba energie je o niečo vyššia). A tiež už nemáme tlačidlo zatvárania na prednej strane dverí a potrebujeme koncový spínač. Buď je ten zámok sakra
  • Odstránime vnútorné tlačidlo. Táto možnosť je vhodná pre skrine a trezory. V nastaveniach nemusíte nič meniť
  • Odstránime LED. V nastaveniach nemusíte nič meniť
  • Tlačidlo na resetovanie prístupu je možné po prvom použití odspájkovať alebo si kód prepísať pre seba
  • Dvere zatvorené, stlačené VONKAJŠIE - zobuďte sa, počkajte na heslo / RFID tag / elektronický kľúč / odtlačok prsta
  • Dvere sú zatvorené, systém sa prebudil a čaká na zadanie hesla. Čas je možné upraviť (nastavenie čas na spanie)
  • Dvere sú zatvorené, bolo zadané heslo / štítok / kľúč atď. - otvorené
  • Dvere zatvorené, stlačené VNÚTRI - otvorené
  • Dvere otvorené, stlačené VONKAJŠIE - zatvorte
  • Dvere otvorené, stlačené VNÚTRI - zatvorte
  • Dvere sú otvorené, KONIEC stlačený - zatvorte

Zámok zabezpečuje prevádzku na batériu v režime nízkej spotreby energie (zapnúť/vypnúť: nastavenie sleep_enable), a to:

  • Prebuďte sa každých pár sekúnd, sledujte UDALOSŤ (voliteľné, ak vonku nie je žiadne tlačidlo. Môžete to povoliť v nastavení tlačidlo prebudenia)
  • Každých niekoľko minút monitorujte napätie Akum (nastavenie zapnutia / vypnutia battery_monitor)
  • Ak je Akum vybitý (napätie je nastavené v nastavení bat_low):
    • otvorte dvierka (voliteľné, možno nakonfigurovať vo firmvéri open_bat_low)
    • zakázať ďalšie otváranie a zatváranie
    • po stlačení tlačidiel bliká červená LED
    • prestať sledovať UDALOSŤ (t. j. zadať heslo / štítok atď.)

Keď je systém prebudený, stlačte tlačidlo na zmenu hesla (skryté tlačidlo). Padáme do režim zmeny hesla:
Zadajte heslo z čísel ( MAXIMÁLNE 10 ČÍSEL!!!)

  • Keď stlačíte *, heslo sa uloží do pamäte a systém prestane meniť heslo
  • Keď stlačíte #, heslo sa resetuje (môžete ho zadať znova)
  • Ak 10 sekúnd nič nestlačíte, režim zmeny hesla automaticky opustíme, heslo zostane staré

Keď je systém prebudený (prebudenie pomocou tlačidiel alebo vypnutý režim spánku), stlačením * vstúpite do režimu zadávania hesla
Ak sa systém uspí a pravidelne sa prebúdza, aby skontroloval UDALOSŤ, potom stlačte * a podržte, kým sa nerozsvieti červená LED
Režim zadávania hesla:

  • Spracovanie hesla prebieha tak, že správne heslo sa počíta až pri napísaní správnej postupnosti čísel, teda ak je heslo 345, tak môžete zadávať ľubovoľné čísla, kým sa neobjaví postupnosť 345, t.j. 30984570345 otvorí zámok, ktorý končí číslom 345.
  • Ak je heslo zadané správne, dvere sa otvoria
  • Ak nič nestlačíte, po 10 sekundách sa systém vráti do normálneho (pohotovostného) režimu
  • Ak stlačíte #, okamžite ukončíme režim zadávania hesla
  • Ak v režime zadávania hesla stlačíte tajné tlačidlo na zmenu hesla, opustíme ho tiež