- Liste over komponenter
- Kretsdiagram for Arduino tastaturdørlås
- Arduino-kode for digitalt tastaturdørlås
- Arduino Tastatur Dørlås Montering og testing
Ofte trenger vi å sikre et rom hjemme eller på kontoret (kanskje et hemmelig fingerlaboratorium) slik at ingen kan få tilgang til rommet uten vår tillatelse og sikre beskyttelse mot tyveri eller tap av vårt viktige tilbehør og eiendeler. Det er så mange typer sikkerhetssystemer tilstede i dag, men bak scenen, for autentisering er de alle avhengig av fingeravtrykk, netthinneskanner, irisskanner, ansikts-id, tungeskanner, RFID-leser, passord, pin, mønstre, etc. Av alle løsningene billig er å bruke et passord eller et pin-basert system. Så i dette prosjektet har jeg bygget en Arduino tastaturdørlås som kan monteres på en hvilken som helst av dine eksisterende dører for å sikre dem med et digitalt passord. Tidligere har vi også bygget andre interessante dørlåser som er oppført nedenfor.
- Arduino RFID dørlås
- Arduino Solenoid dørlås
- Raspberry Pi Digital kodelås
- 555 Timer elektronisk dørlås
Før vi bygger opp passorddørlåsningsprosjektet, må vi først samle de nødvendige komponentene og deretter gå videre og følge trinnvis byggeprosessen.
Liste over komponenter
- Arduino Uno / Pro / Mini eller Custom board ved hjelp av Atmega 328p Microcontroller
- 16 x 2 LCD (flytende krystallskjerm)
- 4 x 3 eller 4 x 4 matrisetastatur for Arduino
- Servo motor
- 3D-trykt dørskap / tilpasset dørskap
- Tilleggskomponenter for strømforsyning på 1 Amp 5 Volt mobil lader
- 4 '' / 6 '' plastbokser, jumperledninger, mutterbolter, plasthylse etc.
Kretsdiagram for Arduino tastaturdørlås
Det komplette kretsskjemaet for vårt Arduino-baserte digitale tastaturdørlåseprosjekt er vist nedenfor.
Først og fremst starter vi fra hjernen til dette prosjektet, som er Arduino UNO-styret. Arduino-kortet er koblet til en LCD og en servomotor. Servomotoren brukes til å skyve (låse) eller trekke (låse opp) låsen på døren. En 16 x 2 LCD kreves for å vise meldingen av Arduino, 16 x 2 betyr at den har 16 antall kolonner og 2 antall rader. Hvis du er helt ny med 16x2 LCD-skjermmoduler, kan du sjekke denne Arduino LCD-grensesnittveiledningen for å lære mer om det.
Her bruker jeg en 5v Towerpro SG90 servomotor for å lage vår tilpassede dørlås. Det er en servomotor på grunnleggende nivå og fungerer bra med Arduino uten drivkrets eller ekstern modul. Dessuten er kostnaden for denne servomotoren veldig mindre, slik at du enkelt har råd til å kjøpe den. Du kan også sjekke denne Arduino Servo Motor Control-opplæringen for å lære mer om servomotoren og hvordan den fungerer. Koble servomotoren med Arduino Digital pin D9 og med en 5 volts strømforsyning. Denne servomotoren har totalt 3 inngangslinjer (GND, + 5V & SIGNAL LINE).
I dette prosjektet har jeg brukt et matrise-tastatur på 4 x 4 (men delen på 4 x 4-tastaturet er ikke tilgjengelig for å lage denne grafiske representasjonen), men ikke bekymre deg, da 4 x 3 Matrix-tastatur også fungerer bra med kodingen min. Vi trenger et tastatur for passordinnlasting og låser vår tilpassede dørlås manuelt. Den består av 16 taster (myk bryter) 4 taster i rader (R1, R2, R3, R4) og 4 taster i kolonner (C1, C2, C3, C4) når en tast trykkes, oppretter den en forbindelse mellom de tilsvarende radene og kolonner. Tabellen nedenfor viser hvordan du kobler Arduino til tastaturet.
Tastatur | Arduino |
Pin 1 (rad 1) | Digital pin1 |
Pin 2 (rad 2) | Digital Pin 2 |
Pin 3 (rad 3) | Digital pinne 3 |
Pin 4 (rad 4) | Digital pin 4 |
Pin 5 (kolonne 5) | Digital pin 5 |
Pin 6 (kolonne 6) | Digital pin 6 |
Pin 7 (kolonne 7) | Digital pin 7 |
Arduino-kode for digitalt tastaturdørlås
Den komplette Arduino-dørlåskoden finner du nederst på denne siden. Du kan laste opp koden direkte, men det anbefales å lese avsnittene nedenfor for å forstå hvordan koden fungerer. Det er også viktig å sørge for at du har lagt til følgende tastaturbibliotek i Arduino IDE for å kompilere koden. For å gjøre det er det bare å åpne lenken nedenfor og laste ned ZIP-filen. Deretter navigerer du til Skisse -> Inkluder bibliotek -> Add.ZIP-bibliotek på Arduino IDE og blar etter filen du nettopp lastet ned.
- Arduino tastaturbibliotek
Etter å ha satt inn alle topptekst- og biblioteksfilene, tilordner du all pin til LCD og definerer passordlengden og setter startposisjonen til servoen til 0. Deretter tar du en "char" datatype for å erklære nummeret som kan holde den inkludert null karakter.
//#inkludere
Med denne koden (char Master = "123456";) - under Char Master, erklærer jeg passordet til dørlåsen, tilordner deretter antall rader og kolonner på tastaturet og erklærer også keyMaps og kobler til rader og kolonner. Under ugyldig oppsett, initialiser servosignalpinnen D9, servostatus lukket og skriv ut navnet på prosjektet / enheten / firmaet med 3 sekunders forsinkelse på LCD-tid for start av enheten.
ugyldig oppsett () {myservo.attach (9); ServoClose (); lcd.begin (16, 2); lcd.print ("Arduino Door"); lcd.setCursor (0, 1); lcd.print ("- Se prosjekt -"); forsinkelse (3000); lcd.clear (); }
Under sløyfefunksjonen er den enkle hvis-annet-tilstanden der. I henhold til status (den låses automatisk), skriv ut “Døren er nær” med 3 sekunders forsinkelse og servo roterer til lukkeposisjon, dørdata teller som 1 ellers forblir dørlåsen åpen og datatellingen 0, servo åpen roterer til posisjonen går 0 grader til 180 grader, og for å lukke går det fra 180 til 0. Servo åpen og servolukk funksjonene er vist nedenfor.
ugyldig ServoOpen () {for (pos = 180; pos> = 0; pos - = 5) {// går fra 0 grader til 180 grader // i trinn på 1 grad myservo.write (pos); // be servo om å gå til posisjon i variabel 'pos' forsinkelse (15); // venter 15 ms for at servoen skal nå posisjonen}} ugyldig ServoClose () {for (pos = 0; pos <= 180; pos + = 5) {// går fra 180 grader til 0 grader myservo.write (pos); // be servo om å gå til posisjon i variabel 'pos' forsinkelse (15); // venter 15 ms på at servoen når posisjonen}}
Skriv posisjonen til servoen med 15 sekunders forsinkelse for å nå servoposisjonen. Under funksjonen tomromsåpning, skriv ut på LCD "Enter Password", og deretter angir tilstanden at det angitte passordet skal være det samme med den egendefinerte nøkkelen. Innen denne kroppsdata telles og lagrer char i dataarrayen, inkrementert og inngangspassord skrives ut på LCD hvis datalengde (antall nøkler) og inngangspassord samsvarer med Data Master (der de forhåndsdefinerte tastene er til stede). Så som en handlings-LCD klar, servostasjon, skriv ut på LCD "Døren er åpen" og datatelleren tilbakestilles til 0.
Hvis inngangsnøkkelen ikke stemmer overens med Data Master, som en handling på LCD klar utskrift på LCD "Feil passord" for å varsle med 1 sekund forsinkelse og forblir i låseposisjon med datateller sett til 1 og fortsette denne prosessen i en løkke.
hvis (data_count == Password_Lenght - 1) // hvis matriceindeksen er lik antall forventede tegn, sammenlign data med master {if (! strcmp (Data, Master)) // lik (strcmp (Data, Master) == 0) {lcd.clear (); ServoOpen (); lcd.print ("Døren er åpen"); dør = 0; } annet {lcd.clear (); lcd.print ("Feil passord"); forsinkelse (1000); dør = 1; } slett data(); }
Arduino Tastatur Dørlås Montering og testing
Nå, monter alt på en 4-tommers / 6-tommers plastboks og strøm den med en mobil lader, still alt pent opp med kabinett. Ideelt sett kunne jeg ha brukt 3D-utskrift for å montere låsen min, men etter å ha designet filene mine, fant jeg ut at 3D-utskrift er veldig kostbart, så jeg fikset bare servoen først og koblet deretter den vanlige lysbildeskapet til servoen min ved hjelp av metallplate og dekket det opp med glassfiber, selv om det fungerer fint, er det mindre sikkert.
Hvis du vil ha mer sikkerhet, må du skrive ut en 3D-dørlåsmodell som fungerer internt med denne servoen. Du kan laste ned de nødvendige STL-filene fra lenken under og 3D skrive dem ut hvis du har tilgang til en 3D-skriver.
Last ned STL-filer for 3D-utskrift
Designfilene er også vist på bildet nedenfor.
I begynnelsen av prosjektet, i det øyeblikket vi starter det for første gang, må vi oppgi prosjektnavnet (du kan også vise firmanavnet) slik at det ser smart og eksklusivt ut som en kommersiell enhet (som du kan se i bildet nedenfor).
Med 3 sekunders forsinkelse, lås døren raskt og sjekk direkte displayet for status for dørlåsen som vist på bildet nedenfor.
Når du låser døren manuelt ved å trykke på “#” -tasten, viser den først at døren er stengt i 1 sekund, og deretter viser den Enter Password. På den annen side, når døren låses opp ved å angi riktig passord, viser den at Døren er åpen.
Hvis døren forblir i opplåst tilstand, vises den - Døren er åpen så lenge du manuelt låser døren i henhold til kodingen. Jeg har gitt koden, og du kan tilpasse innstillingene ved å endre parameteren for kodevisning. Du kan også sjekke fullstendig arbeid med videoen som er lenket nederst på denne siden.