No se que le pasa a mi codigo
Publicado por isaac (1 intervención) el 02/06/2020 17:07:33
Estoy haciendo una puerta por clave pero el problema es que la puerta(Cerradura) no cambia de estado ademas de que
los botones donde ingresas los numeros por medio de pulsos mandan muchos numeros de un golpe y hasta algunas veces se salta numeros
pd.estoy abierto a recomendaciones y/o criticas
los botones donde ingresas los numeros por medio de pulsos mandan muchos numeros de un golpe y hasta algunas veces se salta numeros
pd.estoy abierto a recomendaciones y/o criticas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
int Primer_Digito = 2;
int Segundo_Digito = 3;
int reset_cerrar = 4;
int cont_res_cerr;
int Set = 5;
int cont_set;
int Digito_1;
int Digito_2;
int Contador_1;
int Contador_2;
int Contra_1;
int Contra_2;
int Cerradura = 10;
int Bloqueo_Set;
int serial_count;
void setup(){
pinMode(Primer_Digito,INPUT);
pinMode(Segundo_Digito,INPUT);
pinMode(reset_cerrar,INPUT);
pinMode(Set,INPUT);
pinMode(Cerradura,OUTPUT);
Bloqueo_Set = 3;
digitalWrite(Cerradura,LOW);
Serial.begin(9600);
}
void loop(){
/* serial_count++;
if(serial_count==10000){
Serial.print(Digito_1);
Serial.print(Digito_2);
serial_count = 0;
}
*/
Digito_1 = digitalRead(Primer_Digito);
if(Digito_1 >= 1){
Contador_1 ++; //lo uso para detectar los numeros a marcar
delay(100);
}
Digito_2 = digitalRead(Segundo_Digito);
if(Digito_2 >= 1){
Contador_2 ++;
delay(100);
}
cont_set = digitalRead(Set);
if(cont_set >= 1){
if(Bloqueo_Set == 3){
Contra_1 = Contador_1;
Contra_2 = Contador_2; //esta parte es para poder dejar puesto un codigo por medio de set y se bloquea al cambiar el numero de Bloqueo_set
Contador_1 = 0;
Contador_2 = 0;
Bloqueo_Set = 0;
delay(100);
}
}
if(Contador_1 == Contra_1){
if (Contador_2 == Contra_2){ //esto es para abrir la cerradura cuando se coloque bien la clabe anterior mente marcada
digitalWrite(Cerradura,1);
}
}
cont_res_cerr = digitalRead(reset_cerrar);
if(cont_res_cerr == 1){
Contador_1 = 0; //para resetear la cuneta de la clave y cerrar la ceradura
Contador_2 = 0;
digitalWrite(Cerradura,LOW);
}
}
Valora esta pregunta


0