- Seznam součástí
- Schéma zapojení pro zámek dveří klávesnice Arduino
- Arduino kód pro zámek dveří digitální klávesnice
- Sestavení a testování klávesnice Arduino DoorLock
Často musíme zabezpečit pokoj u nás doma nebo v kanceláři (možná tajnou dexterovu laboratoř), aby do něj nikdo neměl přístup bez našeho svolení a zajistit ochranu před krádeží nebo ztrátou našeho důležitého příslušenství a majetku. V současné době existuje tolik typů bezpečnostních systémů, ale v zákulisí, pro autentizaci se všechny spoléhají na otisky prstů, skener sítnice, skener duhovky, ID obličeje, skener jazyka, čtečku RFID, heslo, PIN, vzory atd. Vypnuto všechna řešení levným řešením je použití hesla nebo systému založeného na pinech. V tomto projektu jsem tedy vytvořil zámek dveří klávesnice Arduino, který lze namontovat na libovolné vaše stávající dveře a zajistit je digitálním heslem. Dříve jsme také postavili další zajímavé dveřní zámky, které jsou uvedeny níže.
- Arduino RFID dveřní zámek
- Elektromagnetický zámek dveří Arduino
- Digitální kódový zámek Raspberry Pi
- 555 Elektronický zámek dveří s časovačem
Před vytvořením našeho projektu zamykání dveřních dveří nejprve musíme shromáždit požadované komponenty a poté pokračovat a postupovat krok za krokem.
Seznam součástí
- Deska Arduino Uno / Pro / Mini nebo Custom pomocí mikrokontroléru Atmega 328p
- 16 x 2 LCD (displej z tekutých krystalů)
- Maticová klávesnice 4 x 3 nebo 4 x 4 pro Arduino
- Servomotor
- 3D vytištěná skříňka na dveře / přizpůsobená skříňka na dveře
- Dodatečné komponenty pro napájení mobilní nabíječky o napětí 1 A 5 V.
- 4 '' / 6 '' plastové krabice, propojovací vodiče, maticové šrouby, plastové pouzdro atd.
Schéma zapojení pro zámek dveří klávesnice Arduino
Níže je uvedeno kompletní schéma zapojení pro náš projekt dveřního zámku s digitální klávesnicí na bázi Arduino.
Nejprve začneme z mozku tohoto projektu, kterým je deska Arduino UNO. Deska Arduino je připojena k LCD a servomotoru. Servomotor slouží k zatlačení (zamknutí) nebo vytažení (odemknutí) západky na dveřích. K zobrazení zprávy Arduino je nutný LCD 16 x 2, 16 x 2 znamená, že má 16 počet sloupců a 2 počet řádků. Pokud jste u modulů LCD displeje 16x2 zcela noví, můžete si prohlédnout tento výukový program Arduino LCD Interfacing, kde se o něm dozvíte více.
Tady používám k výrobě naší přizpůsobené skříňky dveří servomotor 5v Towerpro SG90. Jedná se o servomotor na základní úrovni a funguje dobře s Arduino bez jakéhokoli budicího obvodu nebo externího modulu. Také náklady na tento servomotor jsou mnohem nižší, takže si jej můžete snadno dovolit koupit. Můžete si také prohlédnout tento návod k ovládání servomotoru Arduino a dozvědět se více o servomotoru a jeho fungování. Připojte servomotor k Arduino Digital pin D9 a 5voltovému napájecímu zdroji. Tento servomotor má celkem 3 vstupní vedení (GND, + 5V a SIGNÁLNÍ VEDENÍ).
V tomto projektu jsem použil maticovou klávesnici 4 x 4 (ale část klávesnice 4 x 4 není k dispozici ve fritování pro vytvoření tohoto grafického znázornění), ale nebojte se, protože maticová klávesnice 4 x 3 také funguje dobře s mým kódováním. Potřebujeme klávesnici pro zadávání hesla a ručně zamknout naši přizpůsobenou skříňku dveří. Skládá se ze 16 kláves (soft switch), 4 kláves v řádcích (R1, R2, R3, R4) a 4 kláves ve sloupcích (C1, C2, C3, C4) při stisknutí klávesy, naváže spojení mezi odpovídajícími řádky a sloupce. Níže uvedená tabulka ukazuje, jak propojit Arduino s klávesnicí.
Klávesnice | Arduino |
Kolík 1 (řádek 1) | Digitální Pin1 |
Kolík 2 (řádek 2) | Digitální Pin 2 |
Kolík 3 (řádek 3) | Digitální pin 3 |
Kolík 4 (řádek 4) | Digitální pin 4 |
Kolík 5 (sloupce 5) | Digitální pin 5 |
Kolík 6 (sloupce 6) | Digitální pin 6 |
Kolík 7 (sloupce 7) | Digitální pin 7 |
Arduino kód pro zámek dveří digitální klávesnice
Celý kód zámku dveří Arduino najdete ve spodní části této stránky. Kód můžete nahrát přímo, ale doporučujeme si přečíst následující odstavce, abyste pochopili, jak kód funguje. Je také důležité ujistit se, že jste do svého Arduino IDE přidali následující knihovnu klávesnic, abyste kód úspěšně zkompilovali. Stačí otevřít níže uvedený odkaz a stáhnout soubor ZIP. Pak na svém Arduino IDE přejděte do Sketch -> Zahrnout knihovnu -> Add.ZIP Library a vyhledejte soubor, který jste právě stáhli.
- Knihovna klávesnic Arduino
Po vložení všech hlavičkových a knihovních souborů přiřaďte všechny PIN pro LCD a definujte délku hesla a nastavte počáteční polohu serva na 0. Poté vezměte datový typ „char“ pro deklaraci čísla, které jej může obsahovat, včetně nulový znak.
//#zahrnout
S touto částí kódu (char Master = "123456";) - pod Char Master deklaruji heslo zámku dveří, poté přiřadím počet řádků a sloupců na klávesnici a také deklaruji keyMaps a spojím se s řádky a sloupce. V rámci nastavení neplatnosti inicializujte signální kolík serva D9, stav serva uzavřen a vytiskněte název projektu / zařízení / společnosti s 3sekundovým zpožděním na LCD času spuštění zařízení.
void setup () {myservo.attach (9); ServoClose (); lcd.begin (16, 2); lcd.print ("Dveře Arduino"); lcd.setCursor (0, 1); lcd.print ("- Podívejte se na projekt -"); zpoždění (3000); lcd.clear (); }
Pod funkcí smyčky existuje jednoduchá podmínka if-else. Podle stavu (uzamkne se automaticky), vytiskněte „Dveře jsou zavřeny“ se zpožděním 3 sekundy a servo se otáčí do zavřené polohy, data dveří se počítají jako 1, jinak skříňka dveří zůstane otevřená a počet dat 0, servo otevřené se otáčí do polohy 0 stupňů až 180 stupňů a při zavírání se pohybuje od 180 do 0. Funkce servootevření a zavření serva jsou zobrazeny níže.
void ServoOpen () {for (pos = 180; pos> = 0; pos - = 5) {// přechází z 0 stupňů na 180 stupňů // v krocích po 1 stupni myservo.write (pos); // řekni servu, aby šlo do polohy v proměnné 'pos' delay (15); // čeká 15 ms, než se servo dostane do polohy}} void ServoClose () {for (pos = 0; pos <= 180; pos + = 5) {// přechází ze 180 stupňů na 0 stupňů myservo.write (pos); // řekni servu, aby šlo do polohy v proměnné 'pos' delay (15); // čeká 15 ms, než se servo dostane do polohy}}
Napište polohu serva se zpožděním 15 sekund, abyste dosáhli polohy serva. Pod funkcí void open vytiskněte na LCD „Enter Password“, pak podmínka určuje, že zadané heslo by mělo být stejné s uživatelským klíčem, v rámci tohoto těla se spočítají data a uloží char do datového pole, zvýší se a heslo se vytiskne na LCD, pokud délka dat (počet klíčů) a zadání hesla se shodují s datovým kmenem (kde jsou předdefinované klíče). Poté, co je LCD akce vymazáno, servopohon, vytiskněte na LCD „Dveře jsou otevřené“ a počítadlo dat je vynulováno na 0.
Pokud se vstupní klíč neshoduje s datovým kmenem, jako akce na LCD vymaže na LCD „Chybné heslo“, aby upozornilo na 1 sekundu zpoždění a zůstane v uzamčené poloze s datovým čítačem nastaveným na 1 a pokračuje v tomto procesu ve smyčce.
if (data_count == Password_Lenght - 1) // pokud je index pole roven počtu očekávaných znaků, porovnejte data s master {if (! strcmp (Data, Master)) // rovná se (strcmp (Data, Master) == 0) {lcd.clear (); ServoOpen (); lcd.print ("Dveře jsou otevřené"); dveře = 0; } else {lcd.clear (); lcd.print ("Špatné heslo"); zpoždění (1000); dveře = 1; } vyčistit data(); }
Sestavení a testování klávesnice Arduino DoorLock
Nyní vše připevněte na 4palcovou / 6palcovou plastovou krabici a napájejte ji mobilní nabíječkou, vše pěkně srovnejte pomocí krytu. V ideálním případě jsem mohl použít 3D tisk k sestavení mého zámku, ale po navržení svých souborů jsem zjistil, že 3D tisk je velmi nákladný, takže jsem nejprve opravil servo, pak jsem spojil normální posuvnou skříňku se svým servem pomocí kovové desky a zakryl to se skleněnými vlákny, i když funguje dobře, je méně bezpečné.
Pokud chcete větší zabezpečení, musíte vytisknout 3D model zámku dveří, který interně pracuje s tímto servem. Požadované soubory STL si můžete stáhnout z níže uvedeného odkazu a 3D je vytisknout, pokud máte přístup k 3D tiskárně.
Stáhněte si soubory STL pro 3D tisk
Soubory návrhů jsou také zobrazeny na obrázku níže.
Na začátku projektu, v okamžiku, kdy jej poprvé zapneme, musíme dát název projektu (můžete zobrazit i název společnosti), aby vypadal chytře a exkluzivně jako komerční zařízení (jak vidíte na obrázek níže).
Se zpožděním 3 sekundy rychle zamkněte dveře a přímo zkontrolujte stav zámku dveří, jak je znázorněno na obrázku níže.
Když ručně zamknete dveře stisknutím klávesy „#“, zobrazí se nejprve na 1 sekundu dveře zavřené a poté se zobrazí zadání hesla. Na druhou stranu, když se dveře odemknou zadáním správného hesla, zobrazí se Dveře jsou otevřené.
Pokud dveře zůstanou v odemčeném stavu, zobrazí se - Dveře jsou otevřené, pokud je ručně uzamknete podle kódování. Dal jsem kód a můžete přizpůsobit nastavení změnou parametru zobrazení kódu podle potřeby. Můžete také zkontrolovat úplnou práci s videem, na které odkazujete ve spodní části této stránky.