Poner a 0 contador
Publicado por Francisco (1 intervención) el 09/10/2022 23:22:07
Buenas tardes, tengo un contador de 2 digitos con display LCD de 7 segmentos multiplxado. No tengo ni idea de programacion en arduino, solo controlo ladder , pero con este codigo que encontre funciona como necesito.
Lo unico que no he conseguido es poner los dos displays a cero con un pulsador que tengo en el PIN A1.
Basicamente necesito un contador ascendente con un pulsador (pin A0) y poder ponerlo a cero con un pulsador en el pin A1.
Lo unico que no he conseguido es poner los dos displays a cero con un pulsador que tengo en el PIN A1.
Basicamente necesito un contador ascendente con un pulsador (pin A0) y poder ponerlo a cero con un pulsador en el pin A1.
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
int pines [] = {0, 1, 2, 3, 4, 5, 6};
#define tr1 8
#define tr2 10
#define pulsador A0
bool estadoP = 0;
byte n1 = 0;
byte n2 = 0;
short pausa = 50;
byte numerosAnodo[] {
B0000001,//0
B1001111,//1
B0010010,//2
B0000110,//3
B1001100,//4
B0100100,//5
B0100000,//6
B0001111,//7
B0000000,//8
B0000100,//9
};
byte numerosCatodo[] {
B1111110,//0
B0110000,//1
B1101101,//2
B1111001,//3
B0110011,//4
B1011011,//5
B1011111,//6
B1110000,//7
B1111111,//8
B1111011,//9
};
void setup() {
pinMode(tr1, OUTPUT);
pinMode(tr2, OUTPUT);
pinMode(pulsador, INPUT);
for (int led = 0; led < 8; led++) {
pinMode(pines[led], OUTPUT);
}
}
void loop() {
bool pul = digitalRead(pulsador);
if (pul != estadoP) {
if (pul == HIGH) {
n1++;
if (n1 == 10 ) {
n1 = 0;
n2++;
}
if (n2 == 10){
n2 = 0;
}
}
}
estadoP = pul;
digitalWrite(tr1, HIGH);
digitalWrite(tr2, LOW);
PORTD = numerosAnodo[n2];
delay(pausa);
digitalWrite(tr1, LOW);
digitalWrite(tr2, HIGH);
PORTD = numerosAnodo[n1];
delay(pausa);
}
Valora esta pregunta


0