Étape 5: Le code et la fin
Il est maintenant temps pour le code.Assurez-vous que vous avez tous les fils en place et branchez le câble USB.
Télécharger le code suivant à l’arduino. Copiez et collez-le dans la fenêtre de l’arduino juste comme la dernière fois.
#include < Password.h >
#include < LiquidCrystal.h >
#include < Keypad.h >
#include < Servo.h >
Servo myservo ;
int pos = 0 ;
Innovente lcd(2,3,4,9,10,11,12) ;
Mot de passe password = mot de passe ("4321") ;
const byte rangs = 4 ; Quatre rangées
const byte COLS = 3 ; Trois colonnes
Définir la vue d’ensemble
touches de char [lignes] [colonnes] = {}
{'1','2','3',},
{'4','5','6',},
{'7','8','9',},
{'*','0',' ',}
};
Branchez le clavier ROW0, ligne1, ligne2 et ROW3 ces broches de l’Arduino.
rowPins Byte [rangs] = {24, 25, 22, 23} ; se connecter à la ligne de brochage du clavier
colPins Byte [CDL] = {28, 27, 26} ; se connecter à la liste des broches colonne du clavier
const int buttonPin = 7 ;
buttonState int = 0 ;
Créer le clavier
Clavier clavier = clavier (makeKeymap(keys), rowPins, colPins, lignes, colonnes) ;
#define ledPin 13
void setup() {}
myservo.Attach(8) ;
pinMode (buttonPin, entrée) ;
LCD.Begin (16, 2) ;
digitalWrite (ledPin, basse) ; définit la LED sur
Serial.Begin(9600) ;
keypad.addEventListener(keypadEvent) ; Ajouter un écouteur d’événement pour ce clavier
keypad.setDebounceTime(250) ;
}
void loop() {}
keypad.getKey() ;
buttonState = digitalRead(buttonPin) ;
Si (buttonState == HIGH) {}
LCD.Clear() ;
}
}
prendre soin de certains événements spéciaux
void keypadEvent (KeypadEvent eKey) {}
commutateur (keypad.getState()) {}
cas PRESSED :
LCD.Print(eKey) ;
commutateur (eKey) {}
cas ' ': guessPassword() ; rupture ;
par défaut :
Password.Append(eKey) ;
}
}}
void guessPassword() {}
Si (password.evaluate()) {}
digitalWrite(ledPin,HIGH) ; active le relais porte garaged
Delay(500) ;
pour (pos = 0; pos < 180; pos += 1) / / va de 0 degrés à 180 degrés
{/ / par incréments de 1 degré
myservo.Write(POS) ; dire de servo pour aller à positionner dans la variable « pos »
Delay(3) ; attend 15 ms pour le servo atteindre la position
}
pour (pos = 180; pos > = 50; pos-= 1) / / va de 180 degrés à 0 degrés
{
myservo.Write(POS) ; dire de servo pour aller à positionner dans la variable « pos »
Delay(3) ; attend 15 ms pour le servo atteindre la position
}
digitalWrite(ledPin,LOW) ; Relais porte s’éteigne après 5 sec
LCD.Print ("mot de passe valide") ; //
Password.Reset() ; réinitialise le mot de passe après l’entrée correcte
Delay(600) ;
LCD.Print("Welcome") ;
Delay(2000) ;
LCD.Clear() ;
}
else {}
digitalWrite(ledPin,LOW) ;
LCD.Print ("mot de passe invalide") ;
Password.Reset() ; réinitialise le mot de passe après l’entrée incorrecte
Delay(600) ;
LCD.Clear() ;
}
}
Donnez-lui un test : tapez 4321 puis appuyez sur #.
Vous devriez voir le message de bienvenue de mot de passe valide
Après que la LED sur la carte arduino s’allume pour une courte période et le servo seront déplace ouvrir la serrure.
Et voilà, vous avez vous-même un système d’accès mot de passe.
Mettez-le sur votre porte, ou faire un coffre ou faire a... tout ce que vous voulez. Mettez-le sur votre cage à oiseaux, donc personne ne peut voler votre cher perroquet parlant exotiques.
Si vous avez des problèmes ou des questions concernant cette instructable, n’hésitez pas à poster un commentaire. Je répondrai dès que je peux.
Aussi, si vous aimez le projet, pensez il vote dans les concours suivants :
Merci d’avoir lu ceci jusqu'à la fin et j’espère que ça vous a plu.