- Seznam komponent
- Shema vezja za zaklepanje vrat tipkovnice Arduino
- Koda Arduino za zaklepanje vrat digitalne tipkovnice
- Arduino Keypad DoorLock Sestavljanje in testiranje
Pogosto moramo zavarovati sobo v svojem domu ali pisarni (morda tajni laboratorij dexterja), tako da nihče ne more dostopati do sobe brez našega dovoljenja in zagotoviti zaščito pred krajo ali izgubo naših pomembnih dodatkov in sredstev. Danes je prisotnih toliko vrst varnostnih sistemov, toda za preverjanjem pristnosti vsi posredujejo prstne odtise, optični bralnik mrežnice, optični bralnik šarenice, obraz, jezik, bralnik RFID, geslo, pin, vzorce itd. poceni je uporaba gesla ali sistema, ki temelji na pin-u. Torej, v tem projektu sem zgradil ključavnico vrat Arduino s tipkovnico, ki jo lahko pritrdite na vsa obstoječa vrata, da jih zaščitite z digitalnim geslom. Prej smo zgradili tudi druge zanimive ključavnice za vrata, ki so navedene spodaj.
- Ključavnica vrat Arduino RFID
- Arduino elektromagnetna ključavnica vrat
- Zaklepanje digitalne kode Raspberry Pi
- 555 Elektronska zaklepanje vrat
Preden izdelamo svoj projekt zaklepanja vrat z geslom, moramo najprej zbrati zahtevane komponente, nato pa nadaljujte in sledite postopku gradnje po korakih.
Seznam komponent
- Plošča Arduino Uno / Pro / Mini ali po meri z uporabo mikrokrmilnika Atmega 328p
- 16 x 2 LCD (zaslon iz tekočih kristalov)
- 4 x 3 ali 4 x 4 matrična tipkovnica za Arduino
- Servo motor
- 3D tiskana omarica na vrata / prilagojena omarica na vrata
- Dodatni sestavni deli za napajanje mobilnega polnilnika z napetostjo 1 A 5 voltov
- 4-palčne / 6-palčne plastične škatle, mostične žice, vijaki matic, plastično ohišje itd.
Shema vezja za zaklepanje vrat tipkovnice Arduino
Popoln diagram vezja za naš projekt zaklepanja vrat z digitalno tipkovnico, ki temelji na Arduinu, je prikazan spodaj.
Najprej izhajamo iz možganov tega projekta, ki je odbor Arduino UNO. Plošča Arduino je priključena na LCD in servo motor. Servo motor se uporablja za potiskanje (zaklepanje) ali vlečenje (odklepanje) zapaha na vratih. Za prikaz sporočila Arduina je potreben LCD 16 x 2, 16 x 2 pomeni, da ima 16 število stolpcev in 2 število vrstic. Če ste popolnoma novi v modulih LCD zaslona 16x2, si lahko ogledate to vadnico Arduino LCD Interfacing, če želite izvedeti več o tem.
Tu uporabljam servo motor 5v Towerpro SG90 za izdelavo naše prilagojene omarice za vrata. Je osnovni servo motor in odlično deluje z Arduinom brez kakršnega koli pogonskega kroga ali zunanjega modula. Tudi stroški tega servo motorja so zelo manjši, zato si ga lahko enostavno privoščite. V tej vadnici Arduino Servo Motor Control si lahko ogledate tudi več o servo motorju in kako deluje. Servo motor povežite z Arduino Digital pin D9 in s 5voltnim napajalnikom. Ta servo motor ima skupaj 3 vhodne črte (GND, + 5V & SIGNAL LINE).
V tem projektu sem uporabil 4 x 4 matrično tipkovnico (toda del tipkovnice 4 x 4 ni na voljo v fritzingu za izdelavo tega grafičnega prikaza), vendar ne skrbite, saj 4 x 3 matrična tipkovnica dobro deluje tudi z mojim kodiranjem. Za vnos gesla potrebujemo tipkovnico in ročno zaklenemo prilagojeno omarico za vrata. Sestavljen je iz 16 tipk (mehko stikalo), 4 tipke v vrsticah (R1, R2, R3, R4) in 4 tipke v stolpcih (C1, C2, C3, C4), ko pritisnete tipko, vzpostavi povezavo med ustreznimi vrsticami in stolpci. Spodnja tabela prikazuje, kako povežete svoj Arduino s tipkovnico.
Tipkovnica | Arduino |
Zatič 1 (vrstica 1) | Digitalni pin1 |
Zatič 2 (vrstica 2) | Digitalni pin 2 |
Zatič 3 (vrstica 3) | Digitalni zatič 3 |
Zatič 4 (vrstica 4) | Digitalni zatič 4 |
Zatič 5 (stolpci 5) | Digitalni zatič 5 |
Zatič 6 (stolpci 6) | Digitalni zatič 6 |
Zatič 7 (stolpci 7) | Digitalni zatič 7 |
Koda Arduino za zaklepanje vrat digitalne tipkovnice
Popolno kodo za zaklepanje vrat Arduino najdete na dnu te strani. Kode lahko naložite neposredno, vendar je priporočljivo prebrati spodnje odstavke, da boste razumeli, kako koda deluje. Pomembno je tudi, da ste v Arduino IDE dodali naslednjo knjižnico tipkovnice za uspešno sestavljanje kode. Za to preprosto odprite spodnjo povezavo in prenesite datoteko ZIP. Nato v svojem Arduino IDE pojdite na Sketch -> Include Library -> Add.ZIP Library in poiščite datoteko, ki ste jo pravkar prenesli.
- Knjižnica s tipkovnico Arduino
Po vstavitvi vseh datotek glave in knjižnice dodelite ves zatič za LCD in določite dolžino gesla ter nastavite začetni položaj servo-signala na 0. Po tem vzemite podatkovni tip »char« za razglasitev številke, ki ga lahko zadrži, vključno z ničen znak.
// # vključuje
S tem delom kode (char Master = "123456";) - pod Char Master označim geslo za zaklepanje vrat, nato dodam število vrstic in stolpcev na tipkovnici in tudi deklariram keyMaps in se povežem z vrsticami in stolpci. Pri nastavitvi praznine inicializirajte servo signalni zatič D9, status servo sistema je zaprt in na LCD-prikazovalniku, ko zaženete napravo, s 3 sekundami zakasnitve natisnite ime projekta / naprave / podjetja.
void setup () {myservo.attach (9); ServoClose (); lcd.begin (16, 2); lcd.print ("Arduino vrata"); lcd.setCursor (0, 1); lcd.print ("- Poglej projekt--"); zamuda (3000); lcd.clear (); }
Pod funkcijo zanke obstaja preprost pogoj if-else. Glede na stanje (samodejno se zaklene) natisnite »Vrata so blizu« s 3 sekundami zakasnitve in servo zavrtite v položaj za zapiranje, podatki o vratih se štejejo kot 1, sicer je omarica za vrata odprta, število podatkov pa 0, servo odprto zavrtite v položaj gre 0 stopinj do 180 stopinj, za zapiranje pa s 180 na 0. Spodaj sta prikazani funkciji servo odpiranja in servo zapiranja.
void ServoOpen () {for (pos = 180; pos> = 0; pos - = 5) {// gre od 0 stopinj do 180 stopinj // v korakih po 1 stopinja myservo.write (pos); // povejte servo, naj gre v položaj s spremenljivo zakasnitvijo 'pos' (15); // čaka 15ms, da servo doseže položaj}} void ServoClose () {for (pos = 0; pos <= 180; pos + = 5) {// gre od 180 stopinj do 0 stopinj myservo.write (pos); // povejte servo, naj gre v položaj s spremenljivo zakasnitvijo 'pos' (15); // čaka 15ms, da servo doseže položaj}}
Zapišite položaj servo-pogona s 15 sekundami zakasnitve, da dosežete položaj servo-pogona. Pod funkcijo void open odtisnite na LCD “Enter Password”, nato pogoj določa, da mora biti vneseno geslo enako s ključem po meri, znotraj tega telesa se podatki štejejo in shranjujejo char v podatkovno polje, povečano in vneseno geslo, natisnjeno na LCD, če dolžina podatkov (število ključev) in vnos gesla se ujemata z Data Master (kjer so vnaprej določeni ključi). Nato kot akcijski LCD očistite servo pogon, natisnite na LCD “Door is open” in števec podatkov se ponastavi na 0.
Če se vhodna tipka ne ujema z Data Master, kot dejanje na jasnem tiskanju LCD-ja na LCD-ju "Napačno geslo" obvesti z zakasnitvijo 1 sekundo in ostane v zaklenjenem položaju z nastavljenimi števci podatkov na 1 in ta postopek nadaljuje v zanki.
if (data_count == Password_Lenght - 1) // če je indeks matrike enak številu pričakovanih znakov, primerjajte podatke z glavnim {if (! strcmp (Data, Master)) // enako (strcmp (Data, Master) == 0) {lcd.clear (); ServoOpen (); lcd.print ("Vrata so odprta"); vrata = 0; } else {lcd.clear (); lcd.print ("Napačno geslo"); zamuda (1000); vrata = 1; } Počisti podatke(); }
Arduino Keypad DoorLock Sestavljanje in testiranje
Zdaj namestite vse na 4-palčno / 6-palčno plastično škatlo in jo napajajte z mobilnim polnilnikom, vse lepo poravnajte z ohišjem. V idealnem primeru bi lahko uporabil 3D tiskanje, da bi sestavil svojo ključavnico, toda po oblikovanju datotek sem ugotovil, da je 3D tiskanje zelo drago, zato sem najprej le popravil servo, nato pa s kovinsko ploščo pokril normalno drsno omarico s svojim servo s steklenimi vlakni, čeprav deluje dobro, je manj varna.
Če želite več varnosti, morate natisniti 3D model vratne ključavnice, ki deluje interno s tem servo. Zahtevane datoteke STL lahko prenesete s spodnje povezave in jih 3D natisnete, če imate dostop do 3D tiskalnika.
Prenesite datoteke STL za 3D tiskanje
Datoteke oblikovanja so prikazane tudi na spodnji sliki.
Na začetku projekta, ko ga prvič vklopimo, moramo dati ime projekta (lahko tudi ime podjetja), da bo videti pametno in ekskluzivno kot komercialna naprava (kot lahko vidite v spodnja slika).
S 3 sekundami zakasnitve hitro zaklenite vrata in neposredno preverite stanje zaslona vrat, kot je prikazano na spodnji sliki.
Ko ročno zaklenete vrata s pritiskom na tipko "#", se najprej pokaže, da so vrata zaprta za 1 sekundo, nato pa se prikaže Enter Password. Po drugi strani pa, ko se vrata odklenejo z vnosom pravilnega gesla, se prikaže Vrata so odprta.
Če vrata ostanejo v stanju odklepanja, se prikaže - Vrata so odprta, dokler vrata ročno zaklenete v skladu s kodiranjem. Kodo sem dal in nastavitve lahko prilagodite tako, da spremenite parameter prikaza kode, kot je potrebno. Preverite lahko tudi celotno delo z videoposnetkom, ki je povezan na dnu te strani.