Opprette et hjemmesikkerhetssystem ved hjelp av Arduino Uno
Sikkerhetssystemet er alltid basert på en slags autorisasjon, og at autorisasjon kan være i form av passkode, fingeravtrykk, stemmegjenkjenning og ansiktsgjenkjenning. I dette prosjektet har vi designet et sikkerhetssystem som bruker et passord for autorisasjonen. Følgende er komponentene som vi har brukt til å lage et sikkerhetssystem.
Bildet for skjemaet med å lage et hjemmesikkerhetssystem ved å bruke Arduino s lagt ut nedenfor:
Maskinvareenhet for å lage hjemmesikkerhetssystemet
For å sette sammen maskinvaren har vi koblet komponentene på en slik måte at vi først og fremst har plassert LCD og potensiometer på brødplaten. Videre har vi lagt ut et bilde nedenfor for montering av maskinvaren for sikkerhetssystemet.
De brune ledningene grensesnitt LCD med Arduino, og de blå ledningene kobler tastaturet med Arduino og for å justere lysstyrken 0f LCD den gule ledningen kobler potensiometeret med LCD.
Vi har brukt RGB -modulen for å vise status for autorisasjonen når passordet er lagt inn og fargen på ledningene viser fargen på lysdioder som brukes til indikasjon.
Arduino -kode for hjemmesikkerhetssystemet
Arduino -koden samlet for hjemmesikkerhetssystemet er gitt nedenfor:
#include // Definere biblioteket for LCD
#include // Definere biblioteket for tastatur
LiquidCrystal LCD (A1, A0, 5, 4, 3, 2); // Arduino Pins for LCD
#Define Password_Length 9 // Definere passordlengde
char userInput [passord_lengde];/*streng for lagring av brukerinngangen*/
Char Master [Password_Length] = "1234"; /*Lagre riktig passord*/
Char CustomKey; // Denne variabelen inneholder nøkkelinngang for hver tastet presset
Byte PressCount = 0;/* For å lagre telleren i mengden ganger tastene blir trykket*/
const byte rader = 4; // Definere antall rader
const byte cols = 4; // Definere antall kolonner
int LED = A2; // Arduino Pin for grønn LED
Int LED2 = A3; // Arduino Pin for rød LED
Char Keys [rader] [Cols] = // Tilordne verdier til tastene på tastaturet
'1', '2', '3', 'A',
'4', '5', '6', 'B',
'7', '8', '9', 'c',
'*', '0', '#', 'd'
;
// C -tasten brukes til klar og en nøkkel brukes til å oppgi passordet
byte rowpins [rader] = 13,12,11,10; // Arduino -pinner for rader med tastatur
byte colpins [cols] = 9,8,7,6; // Arduino -pinner for søyler med tastatur
Keypad CustomKeyPad = tastatur (Makekeymap (Keys), Rowpins, Colpins, Rows, Cols); // Kartlegging av verdiene til de respektive tastene til tastaturet
void setup ()
LCD.Begynn (16,2); // Initialisere dimensjonene til LCD
LCD.setcursor (0,0); // Angi stedet for dataene som skal vises
LCD.print ("arduino home"); // data som skal vises
LCD.setcursor (0,1); // Angi stedet for dataene som skal vises
LCD.print ("sikkerhetssystem"); // data som skal vises
forsinkelse (2000); // tid som dataene skal vises
LCD.Clear (); // tømme LCD
pinmode (LED, output);
PinMode (LED2, utgang);
DigitalWrite (LED2, lav); // tilordne lav tilstand til rød LED
void loop ()
LCD.setcursor (0,0); // Angi stedet for at dataene skal vises
LCD.skriv ut ("Skriv inn passord:"); // Be om å legge inn passordet
CustomKey = CustomKeyPad.WaitForkey (); // venter på at brukeren skal oppgi passordet
hvis (tilpasset != NO_Key && CustomKey != 'C' && CustomKey != 'A') /* Hvis nøkkel annet enn klar funksjon og lik funksjonen trykkes* /
userInput [PressCount] = CustomKey;/ * Tell tastene med heltallverdiene presset */
LCD.SetCursor (PressCount + 4, 1); /*Angi stedet der passordet vises på LCD*/
LCD.skrive ut("*"); // Viser stjerne mot hver passordtast
PressCount ++; // Øk en i antall lengder på passordet som er 4
ellers hvis (CustomKey == 'C') // Hvis nøkkelen har en klar funksjon C, trykkes
LCD.Clear (); // Fjern deretter LCD -en
slett data();
ellers if (customKey == 'a') /* Hvis nøkkelen trykkes og passordtallet er mindre enn 4, må du fjerne LCD -skjermen og vis ugyldig passord* /
LCD.klar();
LCD.setcursor (0,0);
LCD.Skriv ut ("Ugyldig passord!"); // vise at det er et ugyldig passord
forsinkelse (2000);
slett data();
if (PressCount == 4) / *Hvis passordet på 4 verdi er angitt, så samsvarer brukerens inndata med gitt passord * /
LCD.klar();
vent her(); // Funksjon som viser passordet i Asterisk
tomrom ()
LCD.setcursor (0,0);
LCD.skriv ut ("Skriv inn passord:");
LCD.setcursor (0,1);
LCD.skrive ut(" ****");
CustomKey = CustomKeyPad.WaitForkey (); // venter på at brukeren skal trykke på lik tasten
hvis (tilpasset !6
LCD.klar();
LCD.setcursor (0,0);
hvis (!STRCMP (UserInput, Master)) // Brukerinngang blir matchet og deretter gi tilgangen
LCD.setcursor (0,0);
LCD.print ("tilgang gitt");
DigitalWrite (LED, høy); // slå på den grønne LED
forsinkelse (1000);
slett data();
ellers hvis (strcmp (userInput, master)) /*Hvis passord ikke blir matchet, så nekt tilgangen* /
LCD.setcursor (0,0);
LCD.trykk ("tilgang nektet");
DigitalWrite (LED2, høy); // slå den røde LED på
forsinkelse (2000);
slett data();
/* Betingelser for hvert tast som trykker på tastaturet for hvert annet tast enn klart, og skriv inn ventetiden her brukes til å vise den på LCD*/
hvis (tilpasset != NO_Key && CustomKey == 'C')
LCD.klar();
slett data();
hvis (tilpasset != NO_Key && CustomKey == '0')
vent her();
hvis (tilpasset != NO_Key && CustomKey == '1')
vent her();
hvis (tilpasset != NO_Key && CustomKey == '2')
vent her();
hvis (tilpasset != NO_Key && CustomKey == '3')
vent her();
hvis (tilpasset != NO_Key && CustomKey == '4')
vent her();
hvis (tilpasset != NO_Key && CustomKey == '5')
vent her();
hvis (tilpasset != NO_Key && CustomKey == '6')
vent her();
hvis (tilpasset != NO_Key && CustomKey == '7')
vent her();
hvis (tilpasset != NO_Key && CustomKey == '8')
vent her();
hvis (tilpasset != NO_Key && CustomKey == '9')
vent her();
// Funksjon tildelt nøkkel C av tastaturet for å tømme LCD
void clearData ()
mens (PressCount != 0)
userInput [PressCount--] = 0; // redusere verdien som er lagt inn i null
DigitalWrite (LED, lav);
oppsett (); // å ringe installasjonsfunksjonen for å starte programmet på nytt
Vi har gitt passordet i koden, og programmet tar ganske enkelt innspillet fra brukeren og samsvarer med passordet. Dette programmet sjekker passordet på to måter, ett ved å sjekke lengden på passordet, og deretter samsvarer det med begge passordene som er lagret i strengen.
Hvis passordene er riktige, vil programmet gi tilgangen og slå på den grønne LED, mens passordet er feil, vil det nekte tilgangen og den røde LED vil slå på.
Maskinvareimplementering av hjemmesikkerhetssystem ved bruk av Arduino UNO
Bildet som er lagt ut nedenfor viser starten på Arduino -koden for hjemmesikkerhetssystemet. Videre har vi lagt ut bildene av Arduino -koden i samme sekvens som koden kjører.
I figuren under koden ber om passordet, og vi har gitt passordet ved hjelp av tastaturet.
Deretter har vi trykket på nøkkelen EN på tastaturet for å oppgi passordet og passordet er riktig, så grønn LED er slått på, noe som betyr at tilgangen er gitt.
Tilsvarende, hvis passordet ikke er riktig, vil den røde LED snu, noe som betyr at autorisasjon ikke blir gitt.
Konklusjon
For å lage nybegynner- eller forhåndsnivåprosjekter vil Arduino -plattformen være et godt valg, da det lar brukerne lage kretser på den enkle måten. Det er et bredt utvalg av gjør-det-selv-prosjekter som kan lages ved hjelp av Arduino. Et hjemmesikkerhetssystem gjøres i denne oppskrivningen, et tastatur brukes til å få passordet der RGB-modulen brukes til å indikere tilgangen.