const byte ROWS = 4; // Nombre de lignes du clavier matriciel
const byte COLS = 4; // Nombre de colonnes du clavier matriciel
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {7,6,5,4}; // Broches de ligne connectées au clavier matriciel
byte colPins[COLS] = {3,2,1,0}; // Broches de colonne connectées au clavier matriciel
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
Servo doorServo; // Création de l'objet Servo pour contrôler le servomoteur
const int unlockAngle = 90; // Angle pour déverrouiller la porte
const int lockAngle = 0; // Angle pour verrouiller la porte
void setup() {
Serial.begin(9600);
doorServo.attach(10); // Attacher le servomoteur à la broche 10
}
void loop() {
char key = keypad.getKey();
if (key) {
Serial.println(key);
if (key == '#') {
unlockDoor();
}
}
}
void unlockDoor() {
Serial.println("Unlocking door");
doorServo.write(unlockAngle); // Déplacer le servomoteur vers l'angle de déverrouillage
delay(2000); // Laisser le temps à la porte de se déverrouiller
doorServo.write(lockAngle); // Déplacer le servomoteur vers l'angle de verrouillage
}