Coucou
Je tente de faire un chronometre simple (pour apprendre à gerer la fonction milli)
J'ai reussi à faire demarrer mon chrono quand je veut.
Le temps en sec et en milli marche bien.
Mais, une fois le chrono arriver à 33sec, le chrono part en negatif !!
il m'affiche ça:
-X -XX
Puis au bout d'un moment, le chrono reprend à 0, puis retourne à 33, et ainsi de suite.
Voila mon code:
// include the library code:
#include <LiquidCrystal.h>
// Lcd + pinout
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
//Variable
#define AnalogBtnPin A0
int AnalogBtn =0; //Valeur entrée A0
int TempsInit = 0;
int TempsReel = 0;
int TempsSec = 0;
int TempsMil = 0;
void setup() {
lcd.begin(16, 2);
} // fin setup
void loop() {
// Lectur boutons
AnalogBtn = analogRead(AnalogBtnPin);
if (AnalogBtn >= 90 && AnalogBtn <= 110) // Boutons Haut
{
TempsInit = (millis());
while(1) {
delay(20);
lcd.clear();
TempsReel = (millis() - TempsInit);
TempsSec = (TempsReel /1000)%60;
TempsMil = (TempsReel %1000)/10;
//Affichage + de 10
if (TempsSec >= 10 ) {
lcd.setCursor(7,1);
lcd.print(TempsSec, DEC); }
if (TempsMil >= 10 ) {
lcd.setCursor(10,1);
lcd.print(TempsMil, DEC); }
//Affichage - de 10
if (TempsSec < 10 ) {
lcd.setCursor(7,1);
lcd.print(" ");
lcd.setCursor(8,1);
lcd.print(TempsSec, DEC); }
if (TempsMil < 10 ) {
lcd.setCursor(10,1);
lcd.print(" ");
lcd.setCursor(11,1);
lcd.print(TempsMil, DEC); }
}
}
} //fin loop
Je comprend pas pourquoi sa fait ça -_-
Merci de votre aide !!!!!