El siguiente tutorial consiste en la contraseña falsa y verdadera
cuando es falsa, persiste en el pin rojo y no pasa nada
cuando es verdadera, pasa al pin verde.
Utilizaremos la contraseña "1503" pero ustedes pueden usar la que ustedes quieran, solo tienen que cambiar el valor
#include <Keypad.h>
char* secretCode = "1503";
int position = 0;
const byte rows = 4; //four rows
const byte cols = 4; //three columns
char keys[rows][cols] = {
{'1','2','3', 'A'},
{'4','5','6', 'B'},
{'7','8','9', 'C'},
{'#','0','*', 'D'}
};
byte rowPins[rows] = {10, 9, 8, 7}; //connect to the row pinouts of the keypad
byte colPins[cols] = {5, 4, 3, 2}; //connect to the column pinouts of the keypad 5, 4, 3, 2
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, rows, cols );
char tecla;
int numero;
int redPin = 13;
int greenPin = 12;
void setup(){
// Serial.begin(9600);
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
setLocked(true);
}
void loop(){
char key = keypad.getKey();
if (key == '*' || key == '#') {
position = 0;
setLocked(true);
}
if (key == secretCode[position]) {
position++;
}
if (position == 6) {
setLocked(false);
}
delay(50);
}
void setLocked(int locked){
if (locked) {
digitalWrite(redPin, HIGH);
digitalWrite(greenPin, LOW);
}
else {
digitalWrite(redPin, LOW);
digitalWrite(greenPin, HIGH);
}
}
disculpa para que estarias usando la variable int de position en el programa???
ResponderEliminarhola disculpa me puedas ayudar como puedo resetear o cambiar el codico desde el teclado matricial
ResponderEliminarBuenas, este programa parece tener defectos. Al meter la clave si vas dandole a uno correcto uno incorrecto y asi sucesivamente hasta poner los 4 digitos de la llave,tambien te loa da por buena.Es decir,si la clave es "1503" y metemos "1 6324 5 245 0 147 3", el sistema te da luz verde
ResponderEliminarcomo puedo poner 3 contraseñas?
ResponderEliminar