Вы находитесь на странице: 1из 3

#include <Keypad.

h>//1
char contrasena[] = "1997";//2
char codigo[4];//3
int cont = 0;//3
const byte filas = 4;//4
const byte cols =4;
char teclas[filas][cols] =//5
{
{'1', '2', '3', 'a'},
{'4', '5', '6', 'b'},
{'7', '8', '9', 'c'},
{'*', '0', '#', 'd'},
};
byte pinesfilas[filas] = {9, 8, 7, 6};//6
byte pinescols[cols] = {5, 4, 3, 2};
Keypad teclado1 = Keypad(makeKeymap(teclas), pinesfilas, pinescols, filas,
cols);//7
void derecha() //8
{
for (int x = 0; x < 300; x++) {
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
delayMicroseconds(5000);
digitalWrite(10,
digitalWrite(11,
digitalWrite(12,
digitalWrite(13,

LOW);
HIGH);
HIGH);
LOW);

delayMicroseconds(5000);
digitalWrite(10,
digitalWrite(11,
digitalWrite(12,
digitalWrite(13,

LOW);
LOW);
HIGH);
HIGH);

delayMicroseconds(5000);
digitalWrite(10, HIGH);

digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
delayMicroseconds(5000);
}
}
void setup() //9
{
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(1, OUTPUT);

}
void loop()
{
char pulsacion = teclado1.getKey();//10
if (pulsacion != 0)//11
{
codigo[cont] = pulsacion;//12
cont = cont + 1;
if (cont == 4)
{
if ( (codigo[0] == contrasena[0] )&& (codigo[1] == contrasena[1] )&&
(codigo[2] == contrasena[2]) && (codigo[3] == contrasena[3]))//13
{
tone(1, 6000);//14
delay(100);
noTone(1);
delay(100);
tone(1, 6000);
delay(100);
noTone(1);
derecha ();
}
else if (codigo[0] != contrasena[0] && codigo[1] != contrasena[1] &&
codigo[2] != contrasena[2] && codigo[3] != contrasena[3])//15
{
tone(1, 500);//16
delay(100);

noTone(1);
delay(100);
tone(1, 500);
delay(100);
noTone(1);
}
cont = 0;//17
}
}
}

/*1. primero se incluye la libreria keypad para hacer funcionar el teclado


matricial
2. luego creamos una variable tipo char donde se almacena el valor de la
contrasea(1997
3. luego se crea una matriz de 4 osea que crea 4 espacios en la memoria y se
declara el contador
4. se declara filas y columnas del teclado matricial
5. se estrablece los valores que cada boton va a tener como valor de salida
6. se declaran los pines para el teclado tanto como columnas y filas
7. se inicializa el teclado
8. ingraso la funcion que va a hacer la secuencia de pasos del motor con un for
para que haga un numero
de vultas finitas
9. en la funcion setup se declaran pines del motor paso a paso y del buzzer
10. en funcion loop, primero creo una variable tipo char que guarde lo que
presiono
11. si se presiona una tecla activa un bloque de programacion sino no hace
nada
12. en la matriz "codigo" guarda el valor que va tomando el contador y lo
iguala con lo que apreto
13. cuando el contador llega a 4 verifica si en cada memoria de la matriz
"codigo" es igual a la
contrasea
14. si esto se cumple suena el "bip,bip" y activa el motor pap
15. si en la matriz "codigo" no se guardo el valor correcto de la contrasea
osea si es diferente
activa el sonido agudo "bep, bep"
16. al contador lo reinicia para poder volver a ingresar la clave*/

Вам также может понравиться