Contador y función no f
Publicado por Esdras (1 intervención) el 20/11/2020 08:36:06
Hola amigos, pues quiero que me ayuden con el problema que tengo, quiero hacer que que mientras no presione el boton/pulsador de aumentar mi display de 7 elementos haga una espera con la función on que tengo hasta abajo, así que mi pensamiento fue el de poner esa función dentro de la opción 0 de mi switch case pero al ponerlo ahí la función se queda en el on aún pulsando el botón y use la función print para ver porque no funcionaba y me marcaba que el valor del contador no aumentaba, así que no se muy bien que deba hacer después de pensarlo tanto. Les agradecería su ayuda.
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
int contador = 0;
int presionado1;
int presionado2;
int pulsador_disminuir = 10;
int pulsador_aumentar = 9;
void encender(int a, int b, int c, int d, int e, int f, int g)
{
digitalWrite(6, a);
digitalWrite(5, b);
digitalWrite(4, c);
digitalWrite(3, d);
digitalWrite(2, e);
digitalWrite(1, f);
digitalWrite(0, g);
}
void setup() {
Serial.begin(9600);
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(9, INPUT);
pinMode(10, INPUT);
}
void loop() {
if (digitalRead(pulsador_aumentar) == LOW)
{
presionado1 = 1;
}
if (digitalRead(pulsador_aumentar) == HIGH && presionado1 == 1)
{
presionado1 = 0;
contador++;
Serial.print(contador);
if (contador > 9)
{
contador = 9;
}
}
if (digitalRead(pulsador_disminuir) == LOW)
{
presionado2 = 1;
}
if (digitalRead(pulsador_disminuir) == HIGH && presionado2 == 1)
{
presionado2 = 0;
contador = 0;
encender (1, 1, 1, 1, 1, 1, 0);
if (contador < 0)
{
contador = 0;
}
}
switch (contador)
{
case 0:
break;
case 1:
encender (0, 1, 1, 0, 0, 0, 0);
break;
case 2:
encender (1, 1, 0, 1, 1, 0, 1);
break;
case 3:
encender (1, 1, 1, 1, 0, 0, 1);
break;
case 4:
encender (0, 1, 1, 0, 0, 1, 1);
break;
case 5:
encender (1, 0, 1, 1, 0, 1, 1);
break;
case 6:
encender (1, 0, 1, 1, 1, 1, 1);
break;
case 7:
encender (1, 1, 1, 0, 0, 0, 0);
break;
case 8:
encender (1, 1, 1, 1, 1, 1, 1);
break;
case 9:
encender (1, 1, 1, 1, 1, 1, 0);
break;
}
}
void on (int tiempo) {
for (int letra = 6; letra >= 0; letra--) {
digitalWrite(letra, HIGH);
delay(tiempo);
digitalWrite(letra, LOW);
delay(tiempo);
}
}
Valora esta pregunta


0