Stap 5: De code, en het einde
Nu is het tijd voor de code.Zorg ervoor dat u alle kabels in plaats en sluit de USB-kabel.
De volgende code uploaden naar de arduino. Kopieer en plak deze in het venster van de arduino net als vorige keer.
#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);
Wachtwoord wachtwoord = Password ("4321");
Const byte rijen = 4; Vier rijen
Const byte COLS = 3; Drie kolommen
Definiëren van de Keymap
char toetsen [ROWS] [COLS] = {}
{'1','2','3',},
{'4','5','6',},
{'7','8','9',},
{'*','0',' ',}
};
Verbinding maken met de toetsenbord ROW0, ROW1, ROW2 en ROW3 op deze Arduino pinnen.
byte rowPins [ROWS] = {25 24, 23, 22}; verbinding maken met de pinouts rij van het toetsenbord
byte colPins [COLS] = {27, 28, 26}; verbinding maken met de kolom pinouts van het klavier
Const int buttonPin = 7;
int buttonState = 0;
Maken van het toetsenbord
Toetsenbord toetsenbord toetsenbord = (makeKeymap(keys), rowPins, colPins, rijen, COLS);
#define ledPin 13
VOID Setup {}
myservo.attach(8);
pinMode (buttonPin, INPUT);
LCD.begin (16, 2);
digitalWrite (ledPin, laag); Hiermee stelt u de LED op
Serial.begin(9600);
keypad.addEventListener(keypadEvent); toevoegen van een gebeurtenislistener voor dit toetsenbord
keypad.setDebounceTime(250);
}
void loop {}
keypad.getKey();
buttonState = digitalRead(buttonPin);
Als (buttonState == HIGH) {}
LCD.Clear();
}
}
sommige speciale evenementen verzorgen
VOID keypadEvent (KeypadEvent eKey) {}
schakelaar (keypad.getState()) {}
Case PRESSED:
LCD.Print(eKey);
schakelaar (eKey) {}
geval ' ': guessPassword(); breken;
standaard:
password.Append(eKey);
}
}}
ongeldig guessPassword() {}
Als (password.evaluate()) {}
digitalWrite(ledPin,HIGH); Hiermee activeert u de autoloze deur estafette
delay(500);
voor (pos = 0; pos < 180; pos += 1) / / gaat van 0 graden tot 180 graden
{/ / in stappen van 1 graad
myservo.write(POS); servo naar positie in de variabele 'pos' vertellen
delay(3); wacht 15ms voor de servo te bereiken de positie
}
voor (pos = 180; pos > = 50; pos-= 1) / / gaat van 180 graden tot 0 graden
{
myservo.write(POS); servo naar positie in de variabele 'pos' vertellen
delay(3); wacht 15ms voor de servo te bereiken de positie
}
digitalWrite(ledPin,LOW); Hiermee schakelt u de deur relay na.5 sec
LCD.Print ("geldig wachtwoord"); //
password.reset(); Reset wachtwoord na het juist ingeven
delay(600);
LCD.Print("Welcome");
delay(2000);
LCD.Clear();
}
else {}
digitalWrite(ledPin,LOW);
LCD.Print ('ongeldig wachtwoord');
password.reset(); Reset wachtwoord na onjuiste vermelding
delay(600);
LCD.Clear();
}
}
Geef het een test: Typ 4321 en drukt u op #.
U ziet het bericht geldig wachtwoord Welkom
Daarna zal de LED op de arduino bord oplichten voor een korte tijd en de servo verhuizen zal naar het slot openen.
En dat is het, je hebt jezelf een wachtwoord toegangssysteem.
Zet het op je deur, of maak een kluis, of a... wat je wilt. Zet het op uw vogelkooi, zodat niemand uw dure exotische Pratende papegaaien stelen kan.
Hebt u problemen of vragen met betrekking tot dit instructable, voel je vrij om een commentaar. Ik zal zo snel als ik kan beantwoorden.
Ook, als je het project, houd rekening met het deelnemen aan de volgende wedstrijden:
Bedankt voor het lezen van dit tot het einde en ik hoop dat u liked it.