Академический Документы
Профессиональный Документы
Культура Документы
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
}
}
}