Buongiorno a tutti,
vorrei realizzare un contatore up/down utilizzando due pulsanti per incrementare e decrementare cifre da 0 a 9 su un display a sette segmenti( 1 sola cifra, catodo comune). Io ho già realizzato parte del programma e sono riuscito ad ottenere che premendo una volta il pulsante mi visualizza il numero 1, però adesso come posso andare avanti?
Grazie in anticipo
Questo è il programma
int G=8;
int F=9;
int A=10;
int B=11;
int E=4;
int D=5;
int C=6;
int DP=7;
int bottone =3;// pulsante incremento
void setup() {
// Definisco la mappatura tra pin e segmenti
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(E, OUTPUT);
pinMode(F, OUTPUT);
pinMode(G, OUTPUT);
pinMode(DP, OUTPUT);
pinMode(bottone, INPUT);
}
void numero_uno(){
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
digitalWrite(DP, LOW);
}
void numero_due(){
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, LOW);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, LOW);
digitalWrite(G, HIGH);
digitalWrite(DP, LOW);
}
void numero_tre(){
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, HIGH);
digitalWrite(DP, LOW);
}
void numero_quattro(){
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
digitalWrite(DP, LOW);
}
void numero_cinque(){
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, LOW);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
digitalWrite(DP, LOW);
}
void loop()
{
int leggistato = digitalRead(bottone);
if (leggistato == HIGH)
{
numero_uno();
}
}