- Popis komponenata
- Kružna shema za zaključavanje vrata Arduino tipkovnice
- Arduino kôd za zaključavanje vrata digitalne tipkovnice
- Sklapanje i testiranje Arduino tipkovnice za zaključavanje vrata
Često trebamo osigurati sobu u svom domu ili uredu (možda tajni laboratorij Dextera) kako nitko ne bi mogao pristupiti sobi bez našeg dopuštenja i osigurati zaštitu od krađe ili gubitka našeg važnog pribora i imovine. Danas je prisutno toliko mnogo vrsta sigurnosnih sustava, ali iza scene, svi se za provjeru autentičnosti prenose na otiske prstiju, skener mrežnice, skener irisa, ID lica, skener jezika, RFID čitač, lozinku, pribadaču, uzorke itd. Od svih rješenja jeftina je uporaba lozinke ili pin-based sustava. Dakle, u ovom sam projektu izgradio Arduino bravu za tipkovnicu koja se može postaviti na bilo koja od vaših postojećih vrata kako bi ih osigurala digitalnom lozinkom. Prethodno smo izgradili i druge zanimljive brave za vrata koja su navedena u nastavku.
- Brava za vrata Arduino RFID
- Arduino magnetna brava za vrata
- Zaključavanje digitalnih kodova Raspberry Pi
- 555 Elektronska brava vrata s odbrojavanjem
Prije izrade našeg projekta zaključavanja vrata lozinkom, prvo moramo prikupiti potrebne komponente, a zatim nastaviti i pratiti postupak gradnje korak po korak.
Popis komponenata
- Arduino Uno / Pro / Mini ili Prilagođena ploča koja koristi Atmega 328p mikrokontroler
- 16 x 2 LCD (zaslon s tekućim kristalima)
- 4 x 3 ili 4 x 4 matrična tipkovnica za Arduino
- Servo motor
- 3D tiskani ormarić za vrata / prilagođeni ormarić za vrata
- Dodatne komponente za napajanje mobilnog punjača od 5 A od 5 V
- Plastične kutije od 4 '' / 6 '', kratkospojne žice, vijci s maticama, plastično kućište itd.
Kružna shema za zaključavanje vrata Arduino tipkovnice
Kompletna shema sklopa za naš projekt zaključavanja vrata digitalne tipkovnice temeljenog na Arduinu prikazana je u nastavku.

Prije svega, polazimo od mozga ovog projekta, a to je Arduino UNO ploča. Arduino ploča spojena je na LCD i servo motor. Servo motor služi za potiskivanje (zaključavanje) ili povlačenje (otključavanje) zasuna na vratima. Za prikaz poruke Arduina potreban je LCD zaslon 16 x 2, 16 x 2 znači da ima 16 broja stupaca i 2 broja redaka. Ako ste potpuno novi u modulima LCD zaslona od 16x2, možete pogledati ovaj vodič za Arduino LCD sučelje kako biste saznali više o tome.
Ovdje koristim 5v servo motor Towerpro SG90 za izradu našeg prilagođenog ormarića na vrata. To je servo motor osnovne razine i izvrsno radi s Arduinom bez pogonskog kruga ili vanjskog modula. Također, cijena ovog servo motora je vrlo manja pa si lako možete priuštiti kupnju. Također možete pogledati ovaj vodič Arduino servo motora kako biste saznali više o servo motoru i kako on radi. Spojite servo motor s Arduino Digitalnim pinom D9 i s napajanjem od 5 volti. Ovaj servo motor ima ukupno 3 ulazna voda (GND, + 5V & SIGNAL LINE).
U ovom projektu koristio sam matričnu tipkovnicu 4 x 4 (ali dio tipkovnice 4 x 4 nije dostupan u fritzingu za izradu ovog grafičkog prikaza), ali ne brinite jer 4 x 3 matrična tipkovnica također dobro funkcionira s mojim kodiranjem. Potrebna nam je tipkovnica za unos lozinke i ručno zaključavanje prilagođenog ormarića za vrata. Sastoji se od 16 tipki (soft prekidač), 4 tipke u redovima (R1, R2, R3, R4) i 4 tipke u stupcima (C1, C2, C3, C4) kada se pritisne tipka, uspostavlja vezu između odgovarajućih redaka i stupaca. Tablica u nastavku prikazuje kako povezati svoj Arduino s tipkovnicom.
| Tipkovnica | Arduino |
| Pribadača 1 (red 1) | Digitalni pin1 |
| Pribadača 2 (red 2) | Digitalni pin 2 |
| Pribadača 3 (red 3) | Digitalni pin 3 |
| Pribadača 4 (red 4) | Digitalni pin 4 |
| Pribadača 5 (stupci 5) | Digitalni pin 5 |
| Pribadača 6 (stupci 6) | Digitalni pin 6 |
| Pribadača 7 (stupci 7) | Digitalni pin 7 |
Arduino kôd za zaključavanje vrata digitalne tipkovnice
Kompletni Arduino kôd za zaključavanje vrata nalazi se na dnu ove stranice. Možete izravno prenijeti kôd, ali preporučljivo je pročitati dolje navedene odlomke kako biste razumjeli kako kôd funkcionira. Također, važno je osigurati da ste dodali sljedeću biblioteku tipkovnice u svoj Arduino IDE za uspješno kompiliranje koda. Da biste to učinili, samo otvorite donju vezu i preuzmite ZIP datoteku. Zatim na vašem Arduino IDE-u dođite do Skica -> Uključi biblioteku -> Dodaj.ZIP biblioteku i potražite datoteku koju ste upravo preuzeli.
- Biblioteka tipkovnice Arduino
Nakon umetanja svih datoteka zaglavlja i biblioteke, dodijelite sav pin za LCD i definirajte duljinu lozinke i postavite početni položaj servoa na 0. Nakon toga, uzmite tip podataka "char" za deklaraciju broja koji ga može sadržavati, uključujući nulti znak.
// # uključuje
S ovim dijelom koda (char Master = "123456";) - pod Char Master, izjavljujem lozinku brave, zatim dodijelim broj redaka i stupaca na tipkovnici i također deklariram keyMaps i povežem se s redovima i stupaca. U okviru postavljanja praznine, inicijalizirajte pin servo signala D9, status servoa je zatvoren i ispišite naziv projekta / uređaja / tvrtke s 3 sekunde kašnjenja na LCD vremenu pokretanja uređaja.
void setup () {myservo.attach (9); ServoClose (); lcd.begin (16, 2); lcd.print ("Arduino vrata"); lcd.setCursor (0,1); lcd.print ("- Pogledajte projekt--"); kašnjenje (3000); lcd.clear (); }
Pod funkcijom petlje postoji jednostavan uvjet if-else. Prema statusu (automatski se zaključava), ispišite "Vrata su blizu" s 3 sekunde kašnjenja i servo okrenite u položaj za zatvaranje, podaci o vratima računaju se kao 1, u suprotnom ormarić za vrata ostaje otvoren, a broj podataka 0, servo otvoren zakretanje u položaj ide 0 stupnjeva do 180 stupnjeva, a za zatvaranje ide sa 180 na 0. U nastavku su prikazane funkcije otvaranja i zatvaranja servoa.
void ServoOpen () {for (pos = 180; pos> = 0; pos - = 5) {// ide od 0 stupnjeva do 180 stupnjeva // u koracima od 1 stupnja myservo.write (pos); // recite servou da ide na položaj u varijabli 'pos' delay (15); // čeka 15 ms da servo dosegne položaj}} void ServoClose () {for (pos = 0; pos <= 180; pos + = 5) {// ide od 180 stupnjeva do 0 stupnjeva myservo.write (pos); // recite servou da ide na položaj u varijabli 'pos' delay (15); // čeka 15 ms da servo dođe do položaja}}
Napišite položaj servo-pogona s 15 sekundi kašnjenja da biste postigli položaj servo-pogona. Pod funkcijom void open otvorite ispis na LCD "Enter Password", a uvjet određuje da unesena lozinka treba biti ista s prilagođenim ključem, unutar ovog tijela podaci se broje i pohranjuju char u podatkovni niz, uvećana i unesena lozinka ispisana na LCD ako duljina podataka (broj ključa) i unos lozinke podudara se s Data Master-om (tamo gdje su prisutni unaprijed definirani ključevi). Zatim kao akcijski LCD očistite servo pogon, ispišite na LCD "Vrata su otvorena" i brojač podataka se vraća na 0.
Ako se tipka za unos ne podudara s Data Master-om, kao akcija na jasnom ispisu LCD-a na LCD-u „Pogrešna lozinka“ obavijestit će vas s odgodom od 1 sekunde i ostaje u zaključanom položaju s postavljenim brojačem podataka na 1 i nastaviti ovaj postupak u petlji.
if (data_count == Password_Lenght - 1) // ako je indeks niza jednak broju očekivanih znakova, usporedite podatke s master {if (! strcmp (Data, Master)) // jednak (strcmp (Data, Master) == 0) {lcd.clear (); ServoOpen (); lcd.print ("Vrata su otvorena"); vrata = 0; } else {lcd.clear (); lcd.print ("Pogrešna lozinka"); kašnjenje (1000); vrata = 1; } Obriši podatke(); }
Sklapanje i testiranje Arduino tipkovnice za zaključavanje vrata
Sada stavite sve na plastičnu kutiju od 4 inča / 6 inča i napajajte ga mobilnim punjačem, sve lijepo poredajte pomoću kućišta. U idealnom slučaju, mogao bih upotrijebiti 3D ispis za sastavljanje brave, ali nakon dizajniranja datoteka otkrio sam da je 3D ispis vrlo skup, pa sam prvo popravio servo, a zatim spojio normalni klizač sa svojim servom pomoću metalne ploče ima staklena vlakna, iako dobro funkcionira, manje je siguran.

Ako želite veću sigurnost, tada morate isprintati 3D model brave za vrata koji interno radi s ovim servom. Potrebne STL datoteke možete preuzeti s donje veze i ispisati ih 3D ako imate pristup 3D pisaču.
Preuzmite STL datoteke za 3D ispis
Datoteke dizajna također su prikazane na donjoj slici.

Na početku projekta, u trenutku kad ga prvi put pokrenemo, moramo dati naziv projekta (možete prikazati i naziv tvrtke) kako bi izgledao pametno i ekskluzivno poput komercijalnog uređaja (kao što možete vidjeti u slika dolje).

S 3 sekunde kašnjenja brzo zaključajte vrata i izravno provjerite status brave vrata kao što je prikazano na donjoj slici.

Kada ručno zaključate vrata pritiskom na tipku "#", prvo se prikazuje da su vrata zatvorena na 1 sekundu, a zatim se prikazuje Enter Password. S druge strane, kada se vrata otključaju unošenjem ispravne lozinke, prikazuje se Vrata su otvorena.

Ako vrata ostanu otključana, prikazuje se - Vrata su otvorena sve dok ručno zaključavate vrata prema kodiranju. Dao sam kôd i možete prilagoditi postavke mijenjanjem parametra prikaza koda prema potrebi. Također možete provjeriti kompletan rad s videozapisom povezanim na dnu ove stranice.
