Horloge/ Compteur, et futur dash board pour simulation pc

Bonjour,

je viens de me lancer dans mon premier projet sous arduino ( avec une mega). Je veux réaliser une horloge dans un premier temps.

Pour cela, j’ai réalisé des afficheurs 7segments à base de 2Led blanche.

je me retrouve avec le modèle ci-dessous:

XX XX XX XX Avec H2, H1, M2 et M1
X X X X X X X X
X X X X X X X X
XX XX XX XX
X X X X X X X X
X X X X X X X X
XX XX XX XX

Comme je n’avais pas de décodeur sous la main, j’actionne les groupes de LED 1 à 1.

Après avoir défini mes pins en sortie, et initialisé H2, H1, M2 et M1 à l’heure de l’envoie, j’effectue deux boucles:

  • 00h00 à 19h59 (1)
  • 20h00 à 23h59 (2)

Ma question est: pourquoi d’après mon code, l’horloge reste bloqué dans la boucle (2) et ne revient pas dans la 1?

Merci pour votre aide!

Voici le code ci joint

void loop() 
{ int H2,H1,M1,M2,T1;
T1=10;

if(H2<<2)
{
while(H2<2) //Cas entre 00h00-19h59
{ switch(H2)
     {
...
     }
    while(M2<=5)
    {
      switch(M2)
      {
     ..
      }
       while(M1<=9)
      {
      switch(M1)
     {
..
     }
        delay(T1);  //delay(60000) pour 60s delay(1000) pour 1s
          M1=M1+1;
        }
      M1=0;  
      M2=M2+1;
    }
    M2=0;
    H1=H1+1;
  }
  H1=0;
  H2=H2+1;  
 }
}
else
{
 while(H2=2) //cas 20h00-23h59
{     
      
       while(H1<=3)
      {switch(H1)
     { 
...
      }
       while(M1<=9)
      {
      switch(M1)
      {
...
      }
        delay(T1);  //delay(60000) pour 60s delay(1000) pour 1s
          M1=M1+1;
        }
      M1=0;  
      M2=M2+1;
    }
    M2=0;
    H1=H1+1;
  }
H1=0; 
H2=0;
}
 
}
}

Horloge.ino (14 KB)

Juste un petit up au cas où..

Bonjour,

J’imagine que le

if(H2<<2)

au début n’est pas ce que tu voulais écrire. Ne serait-ce pas plutôt ça:

if(H2<2)

A part ça, pour débugger ce genre de problème, il ne faut pas hésiter à mettre des Serial.print un peu partout pour comprendre ce qui se passe. En procédant de la sorte, tu aurais pu régler ton problème il y a bien longtemps (avec en plus la fierté de l’avoir fait toi-même).