Go Down

Topic: Ecran LCD avec boutons (LCD keypad shield) (Read 8954 times) previous topic - next topic

skizoh

De rien :) oubli jamais les == c'est vitale :) ( en plus c'est sournois car le compilo ne te dit jamais que c'est pas bon ^^ )

Skizo !

Jordan-pDevices


skizoh

hum, si tu n'à plus de problème ajoute [résolu] dans le titre de ton topic ça feras un de moins à allé voir pour les autres ;)


Skizo !

Jordan-pDevices

J'ai encore un "problème" que tu sauras peut être résoudre rapidement.

Si tu veux, là je peux choisir les chiffres que je veux. et chaque chiffre est stocké dans une case de mon tableau.
Quand j'appuis sur SELECT, je veux enregistrer le nombre dans une variable integer. Regarde ce que j'ai écris et qui ne fonctionne pas, tu comprendras peut-être ce que je veux faire :

Quote

   case btnSELECT:
     {
       nombre = chiffre[3]chiffre[2]chiffre[1]chiffre[0];
        lcd.setCursor(0,0);
       lcd.print(nombre);
       break;
     }



Chiffre[0]=unités     Chiffre[1]=dizaines     Chiffre[2]=centaines     Chiffre[3]=milliers   

bricofoy

nombre = chiffre[3]*1000 + chiffre[2]*100+ chiffre[1]*10 + chiffre[0];

-tu savais que si tu passe le CD de windows à l'envers, tu entends une chanson satanique ?
-non, mais il y a pire : à l'endroit, ça l'installe !

Jordan-pDevices

Ah je me fais rigoler tout seul car au tout début c'est bien comme ça que je pensais faire... Vraiment parfois notre tête oublie tout !

Merci en tout cas.

salut !

bricofoy

-tu savais que si tu passe le CD de windows à l'envers, tu entends une chanson satanique ?
-non, mais il y a pire : à l'endroit, ça l'installe !

Jordan-pDevices

Salut,

J'ai enlevé le résolu car j'ai une nouvelle difficulté.
Tout fonctionne jusque là, mais je veux enclencher et afficher un chronomètre quand j'appuis sur select.
Voici le programme qui t'en dira un peu plus je pense :
Quote

   case btnSELECT:
     {
       nombre = chiffre[3]*1000 + chiffre[2]*100 + chiffre[1]*10 + chiffre[0];
       lcd.setCursor(9,0);
       lcd.print("t=");
       lcd.setCursor(11,0);            // move cursor to second line "1" and 9 spaces over
       lcd.print(millis()/1000);      // display seconds elapsed since power-up
       lcd.setCursor(15,0);
       lcd.print("s");
       break;
     }


bricofoy

et c'est quoi qui ne fonctionne pas, là ?
-tu savais que si tu passe le CD de windows à l'envers, tu entends une chanson satanique ?
-non, mais il y a pire : à l'endroit, ça l'installe !

skizoh

La si tu veux faire un chronomètre il va te falloir prendre une première valeur millis et tu la test jusqu'à avoir une seconde complète et incrémenter ça donne ça à peut pret :

Code: [Select]

   case btnSELECT:
     {
       nombre = chiffre[3]*1000 + chiffre[2]*100 + chiffre[1]*10 + chiffre[0];
       lcd.setCursor(9,0);
       lcd.print("t=");
       lcd.setCursor(11,0);            // move cursor to second line "1" and 9 spaces over
       time1=millis()/1000;
       seconde=0;
       lcd.print(seconde);      // display seconds elapsed since power-up
       lcd.setCursor(15,0);
       lcd.print("s");
       break;
     }

la tu à enclencher le chronomètre et tu à affiché le 0 du début et après tu teste :

time2=millis()/1000;
if ( time2 >= time1 + 1 )
{
     time1 = time2;
     seconde++;
     lcd.print("t=");
     lcd.print(seconde);
     lcd.print(" s");
}
et la à chaque passage on test si le temps écoulé dépasse 1 seconde si oui on incrémente notre chronomètre et on remet nos deux tempo à égalité
manque juste à ajouter les test >60 et >24 pour avoir un chronomètre en minute jour et heure 


voila monsieur :)

Go Up