Lösenord tillgång med arduino (5 / 5 steg)
Steg 5: Koden och avsluta
Nu är det dags för koden.Kontrollera att du har alla kablar och Anslut USB-kabeln.
Ladda upp följande kod till arduino. Kopiera och klistra in den i fönstret arduino precis som förra gången.
#include < Password.h >
#include < LiquidCrystal.h >
#include < Keypad.h >
#include < Servo.h >
Servo myservo;
int pos = 0;
LiquidCrystal lcd(2,3,4,9,10,11,12);
Lösenord lösenord = lösenord ("4321");
CONST byte rader = 4; Fyra rader
CONST byte COLS = 3; Tre kolumner
Definiera Tangentlayouten
char nycklar [rader] [COLS] = {
{'1','2','3',},
{'4','5','6',},
{'7','8','9',},
{'*','0',' ',}
};
Anslut tangentbordet ROW0, ROW1, ROW2 och ROW3 till dessa Arduino stift.
byte rowPins [rader] = {25, 24, 23, 22}; ansluta till rad Stifttilldelningar för knappsatsen
byte colPins [COLS] = {28, 27, 26}; ansluta till kolumn Stifttilldelningar för knappsatsen
CONST int buttonPin = 7.
int buttonState = 0;
Skapa tangentbordet
Tangentbordet knappsatsen = knappsatsen (makeKeymap(keys), rowPins, colPins, rader, kolumner);
#define ledPin 13
void setup() {
myservo.attach(8);
pinMode (buttonPin, ingång);
LCD.BEGIN (16, 2);
digitalWrite (ledPin, låg); anger LED på
Serial.BEGIN(9600);
keypad.addEventListener(keypadEvent); lägga till en händelseavlyssnare för detta knappsatsen
keypad.setDebounceTime(250);
}
void loop() {
keypad.getKey();
buttonState = digitalRead(buttonPin);
om (buttonState == hög) {
LCD.Clear();
}
}
ta hand om vissa särskilda händelser
void keypadEvent (KeypadEvent eNyckeln) {
Switch (keypad.getState()) {
fall tryckt:
LCD.Print(eKey);
Växla (eNyckeln) {
fallet "": guessPassword(); bryta;
standard:
Password.append(eKey);
}
}}
void guessPassword() {
om (password.evaluate()) {
digitalWrite(ledPin,HIGH); aktiverar satellit dörren relay
Delay(500);
för (pos = 0; pos < 180; pos + = 1) / / går från 0 grader till 180 grader
{/ / i steg om 1 grad
myservo.write(POS); berätta servo gå för att placera i variabel "pos"
Delay(3); Waits 15 MS för servo att nå ställning
}
för (pos = 180, pos > = 50; pos-= 1) / / går från 180 grader till 0 grader
{
myservo.write(POS); berätta servo gå för att placera i variabel "pos"
Delay(3); Waits 15 MS för servo att nå ställning
}
digitalWrite(ledPin,LOW); stänger dörren relay efter 5 sek
LCD.Print ("giltig lösenord"); //
Password.Reset(); återställer lösenord efter korrekta
Delay(600);
LCD.Print("Welcome");
Delay(2000);
LCD.Clear();
}
annat {
digitalWrite(ledPin,LOW);
LCD.Print ("ogiltigt lösenord");
Password.Reset(); återställer lösenord efter felaktig inmatning
Delay(600);
LCD.Clear();
}
}
Ge det ett test: typ 4321 sedan trycker du på #.
Du borde se meddelandet giltig lösenord Välkommen
Efter det tänds lysdioden på arduino styrelsen för en kort tid och servo kommer att flytta till öppna låset.
Och det är det, du har själv ett lösenord access system.
Lägga den på din dörr, eller göra en säker, eller göra en... vad du vill. Sätt den på din fågelbur så att ingen kan stjäla din dyra exotiska talande papegojor.
Om du har några problem eller frågor angående detta instructable, Känn dig fri att skriva en kommentar. Jag kommer att svara så snart jag kan.
Om du gillar projektet, Tänk även rösta i följande tävlingar:
Tack för att läsa detta 'till slutet och jag hoppas du gillade den.