Contatore con display 7 segmenti

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();
 }
 
 }

Prima di tutto, essendo il tuo primo post, ti chiedo cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione … possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il REGOLAMENTO

… poi, in conformità al suddetto regolamento, punto 7, devi editare il tuo post (in basso a destra del post, bottone More → Modify) e racchiudere il codice all’interno dei tag CODE (… sono quelli che in edit inserisce il bottone fatto così: </>, tutto a sinistra).

Grazie.

Guglielmo

Di pulsanti ce ne vogliono due, uno per Up ed uno per Down, oltre alla variabile Count:

void loop() {

  if (digitalRead(UpPin) == HIGH) Count ++;
  else if (ldigitalRead(DownPin) == HIGH) Count --;

  Count = constrain(Count, 0, 9); 

  if (Count == 1) numero_uno();
  else if (Count == 2) numero_due();
  ...
}