- Zoznam komponentov
- Schéma zapojenia zámku dverí klávesnice Arduino
- Arduino kód pre zámok dverí digitálnej klávesnice
- Montáž a testovanie zámkov dverí Arduino
Často je potrebné zabezpečiť miestnosť v našom dome alebo kancelárii (možno tajné laboratórium šikovníka), aby nikto nemohol do miestnosti vstúpiť bez nášho súhlasu a zabezpečiť ochranu pred krádežou alebo stratou nášho dôležitého príslušenstva a majetku. V súčasnosti existuje veľa druhov bezpečnostných systémov, ale v zákulisí. Na autentifikáciu sa všetky spoliehajú na odtlačky prstov, skener sietnice, skener dúhovky, identifikáciu tváre, skener jazyka, čítačku RFID, heslo, PIN, vzory atď. Vypnuté všetky riešenia lacným riešením je použitie systému založeného na heslách alebo pinoch. V tomto projekte som teda vytvoril zámok dverí klávesnice Arduino, ktorý je možné namontovať na akékoľvek vaše existujúce dvere a zabezpečiť ich digitálnym heslom. Predtým sme tiež vyrábali ďalšie zaujímavé dverné zámky, ktoré sú uvedené nižšie.
- Arduino RFID zámok dverí
- Elektromagnetický zámok dverí Arduino
- Digitálny kódový zámok Raspberry Pi
- 555 Elektronický časovač zámku dverí
Pred zostavením nášho projektu zamykania dverí pomocou hesla musíme najskôr zhromaždiť požadované komponenty a potom pokračovať a postupovať krok za krokom.
Zoznam komponentov
- Doska Arduino Uno / Pro / Mini alebo Custom pomocou mikrokontroléra Atmega 328p
- 16 x 2 LCD (displej z tekutých kryštálov)
- Maticová klávesnica 4 x 3 alebo 4 x 4 pre Arduino
- Servo motor
- 3D tlačená skrinka na dvere / prispôsobená skrinka na dvere
- Ďalšie komponenty na napájanie mobilnej nabíjačky s napätím 1 A 5 voltov
- 4 "/ 6" plastové skrinky, štartovacie drôty, maticové skrutky, plastové puzdro atď.
Schéma zapojenia zámku dverí klávesnice Arduino
Kompletná schéma zapojenia pre náš projekt zámky dverí s digitálnymi klávesnicami na báze Arduino je uvedený nižšie.
Najskôr vychádzame z mozgu tohto projektu, ktorým je doska Arduino UNO. Doska Arduino je pripojená k LCD a servomotoru. Servomotor slúži na zatlačenie (uzamknutie) alebo potiahnutie (odomknutie) západky na dverách. Na zobrazenie správy od Arduina je potrebný 16 x 2 LCD, 16 x 2 znamená, že má 16 počet stĺpcov a 2 počet riadkov. Ak ste s modulmi LCD displeja 16x2 úplne noví, môžete si prečítať tento návod Arduino LCD Interfacing, kde sa o ňom dozviete viac.
Tu používam na výrobu našej prispôsobenej skrinky na dvere servomotor 5v Towerpro SG90. Je to servomotor na základnej úrovni a funguje dobre s Arduinom bez budiaceho obvodu alebo externého modulu. Cena tohto servomotora je tiež oveľa nižšia, takže si ho môžete ľahko dovoliť kúpiť. Môžete si tiež pozrieť tento návod na ovládanie servomotorov Arduino a dozvedieť sa viac o servomotore a o tom, ako funguje. Pripojte servomotor k Arduino Digital pin D9 a k napájaciemu zdroju 5 voltov. Tento servomotor má celkovo 3 vstupné vedenia (GND, + 5 V a SIGNÁLNE VEDENIE).
V tomto projekte som použil maticovú klávesnicu 4 x 4 (ale časť klávesnice 4 x 4 nie je pri fritzovaní k dispozícii na vytvorenie tohto grafického znázornenia), ale nebojte sa, pretože klávesnica 4 x 3 Matrix funguje dobre aj pri mojom kódovaní. Potrebujeme klávesnicu na zadanie hesla a ručne uzamkneme našu prispôsobenú skrinku na dvere. Skladá sa zo 16 klávesov (softvérové prepínače), 4 klávesov v riadkoch (R1, R2, R3, R4) a 4 klávesov v stĺpcoch (C1, C2, C3, C4) po stlačení klávesu, vytvorí spojenie medzi zodpovedajúcimi riadkami a stĺpce. Nasledujúca tabuľka ukazuje, ako spojiť vaše Arduino s klávesnicou.
Klávesnica | Arduino |
Pin 1 (riadok 1) | Digitálny pin1 |
Pin 2 (riadok 2) | Digitálny pin 2 |
Kolík 3 (riadok 3) | Digitálny pin 3 |
Pin 4 (riadok 4) | Digitálny pin 4 |
Kolík 5 (stĺpce 5) | Digitálny pin 5 |
Pin 6 (stĺpce 6) | Digitálny pin 6 |
Pin 7 (stĺpce 7) | Digitálny pin 7 |
Arduino kód pre zámok dverí digitálnej klávesnice
Celý kód zámku dverí Arduino nájdete v spodnej časti tejto stránky. Kód môžete nahrať priamo, ale odporúča sa prečítať si nasledujúce odseky, aby ste pochopili, ako kód funguje. Je tiež dôležité skontrolovať, či ste do svojho Arduino IDE pridali nasledujúcu knižnicu klávesníc, aby ste kód úspešne zostavili. Ak to chcete urobiť, otvorte odkaz nižšie a stiahnite si súbor ZIP. Potom na svojom Arduino IDE prejdite na Skica -> Zahrnúť knižnicu -> Add.ZIP knižnica a vyhľadajte súbor, ktorý ste práve stiahli.
- Knižnica klávesníc Arduino
Po vložení všetkých súborov hlavičky a knižnice priraďte všetok pin pre LCD a definujte dĺžku hesla a nastavte začiatočnú polohu serva na 0. Potom vezmite „char“ dátový typ na vyhlásenie čísla, ktoré ho môže obsahovať, vrátane nulový znak.
// # zahrnúť
S týmto kúskom kódu (char Master = "123456";) - pod znakom Char Master deklarujem heslo zámku dverí, potom priradím počet riadkov a stĺpcov na klávesnici a tiež vyhlásim keyMaps a spojím sa s riadkami a stĺpce. V rámci nastavenia neplatnosti inicializujte signálny kolík servopohonu D9, stav servopohonu zatvorený a vytlačte názov projektu / zariadenia / spoločnosti s oneskorením 3 sekundy na LCD čas spustenia zariadenia.
void setup () {myservo.attach (9); ServoClose (); lcd.začiatok (16, 2); lcd.print ("Dvere Arduino"); lcd.setCursor (0, 1); lcd.print ("- Pozrite sa na projekt--"); oneskorenie (3 000); lcd.clear (); }
Pod funkciou slučky existuje jednoduchá podmienka typu „ak-iné“. Podľa stavu (automaticky sa uzamkne), vytlačte „Dvere sú zatvorené“ s oneskorením 3 sekundy a servomotor sa otočí do polohy zatvorenia, údaje o dverách sa počítajú ako 1, inak zostane dverová skrinka otvorená a počet dát 0, servo otvorené sa otočí do polohy ide 0 stupňov na 180 stupňov a pri zatváraní sa pohybuje od 180 do 0. Funkcie otvárania a zatvárania serva sú zobrazené nižšie.
void ServoOpen () {for (pos = 180; pos> = 0; pos - = 5) {// sa mení z 0 stupňov na 180 stupňov // v krokoch po 1 stupni myservo.write (pos); // povie servu, aby šlo do polohy v premennej 'pos' delay (15); // počká 15 ms, kým sa servo dostane do polohy}} void ServoClose () {for (pos = 0; pos <= 180; pos + = 5) {// sa pohybuje od 180 stupňov do 0 stupňov myservo.write (pos); // povie servu, aby šlo do polohy v premennej 'pos' delay (15); // čaká 15 ms, kým sa servopohon dostane do polohy}}
Napíšte polohu serva s oneskorením 15 sekúnd, aby ste sa dostali do polohy serva. Pod funkciou void open vytlačte na LCD „Enter Password“, potom podmienka určuje, že zadané heslo by malo byť rovnaké ako vlastný kľúč, v rámci tohto tela sa spočítajú údaje a uloží sa znak do dátového poľa, zvýši sa a heslo sa vytlačí na LCD, dĺžka dát (počet kľúčov) a zadané heslo sa zhodujú s dátovým kmeňom (kde sú preddefinované kľúče). Potom, ako bude akčný LCD jasný, servopohon, vytlačte na LCD „Dvere sú otvorené“ a počítadlo dát sa vynuluje na 0.
Ak sa kláves vstupu nezhoduje s dátovým kmeňom, ako akcia na LCD vymaže tlač na LCD „Chybné heslo“, aby upozornila s oneskorením 1 sekundy a zostane v uzamknutej polohe s dátovým počítadlom nastaveným na 1 a pokračuje v tomto cykle.
if (data_count == Password_Lenght - 1) // ak je index poľa rovný počtu očakávaných znakov, porovnajte dáta s master {if (! strcmp (Data, Master)) // rovnaké s (strcmp (Data, Master) == 0) {lcd.clear (); ServoOpen (); lcd.print ("Dvere sú otvorené"); dvere = 0; } else {lcd.clear (); lcd.print ("Chybné heslo"); oneskorenie (1 000); dvere = 1; } vyčistiť dáta(); }
Montáž a testovanie zámkov dverí Arduino
Teraz všetko namontujte na plastovú škatuľu s uhlopriečkou 6 palcov a 6 palcov a napájajte ju pomocou mobilnej nabíjačky. Všetko pekne usporiadajte pomocou krytu. V ideálnom prípade by som mohol na zostavenie môjho zámku použiť 3D tlač, ale po navrhnutí mojich súborov som zistil, že 3D tlač je veľmi nákladná, takže som najskôr opravil servo, potom som spojil bežnú posuvnú skrinku so svojim servom pomocou kovovej platne a zakryl ju je to so skleneným vláknom, aj keď funguje dobre, je menej bezpečné.
Ak chcete väčšiu bezpečnosť, musíte vytlačiť model zámku 3D, ktorý interne pracuje s týmto servomotorom. Požadované súbory STL si môžete stiahnuť z nižšie uvedeného odkazu a 3D tlačiť, ak máte prístup k 3D tlačiarni.
Stiahnite si súbory STL pre 3D tlač
Súbory s dizajnom sú tiež zobrazené na obrázku nižšie.
Na začiatku projektu, v okamihu, keď ho prvýkrát napájame, musíme dať názov projektu (môžete zobraziť aj názov spoločnosti), aby vyzeral inteligentne a exkluzívne ako komerčné zariadenie (ako vidíte na obrázok nižšie).
S oneskorením 3 sekundy rýchlo zamknite dvere a priamo skontrolujte stav zámku dverí na displeji, ako je to znázornené na obrázku nižšie.
Ak ručne uzamknete dvere stlačením klávesu „#“, najskôr sa zobrazí, že sú dvere na 1 sekundu zatvorené, a potom sa zobrazí Zadajte heslo. Na druhej strane, keď sa dvere odomknú zadaním správneho hesla, zobrazí sa správa Dvere sú otvorené.
Ak dvere zostanú v odblokovanom stave, zobrazí sa - Dvere sú otvorené, pokiaľ dvere podľa kódovania ručne uzamknete. Dal som kód a môžete prispôsobiť nastavenia zmenou parametra zobrazenia kódu podľa potreby. Môžete tiež skontrolovať úplnú prácu s videom, na ktoré odkazujete v dolnej časti tejto stránky.