/---------------------------------- BIpe des base -------------------------------------------------------/
/---------------------------------- Declaration d'un essai-----------------------------------------------/
/---------------------------------- Franchisement du plan de secu ---------------------------------------/
/*
if(StatePlanSecu == HIGH && PrevStatePlanSecu== LOW)
{
affichage = LOW;
lcd.clear(); // clear l'affichage sur le LCD
lcd.setCursor(0,0); // Set cursor position on LCD
lcd.print("Plan de Securiter"); // note la faute du concurent sur l'ecran
PrevStatePlanSecu = HIGH;
}
/
/----------------------------------hors temps -----------------------------------------------------------*/
/*
if ((millis()-T1 >= 120000) && StartVitesseC1 == LOW && StartVitesseC2 == LOW && PrevStateLarg == HIGH)
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Hors Temps");
affichage = LOW;
}
/
/---------------------------------Affichage du Temps depuis le depart-----------------------------------------*/
if (affichage == HIGH)
{
if(Larguer == HIGH && StartVitesseC1 == LOW && StartVitesseC2 == LOW)
{
tmpT1 = millis() - T1; // temps passé depuis le largage
minT1 = (tmpT1/1000)/60; // minute T1 to display
secT1 = (tmpT1/1000)%60 ; // second T1 to display
lcd.setCursor(13,1); // Set cursor position on LCD
lcd.print(".");
lcd.setCursor(14,1); // Set cursor position on LCD
if (secT1<10)
{
lcd.print("0");
}
lcd.print(secT1); // display Seconds
lcd.setCursor(11,1);
if (minT1<10)
{
lcd.print("0");
}
lcd.print(minT1);
}
if (StartVitesseC1 == HIGH && FinVitesseC1 == LOW)
{
tmpPasseChrono1 = millis() - startChrono1; // temps passé depuis le lancement de chrono 1
centC1 = (tmpPasseChrono1%1000)/10 ; //centieme chrono 1 to display
secC1 = (tmpPasseChrono1/1000)%60 ; //second chrono 1 to display
/--------------------------display chrono 1 ---------------------------------/
lcd.setCursor(5,0); // Set cursor position on LCD
lcd.print(".");
lcd.setCursor(3,0); // Set cursor position on LCD
if (secC1<10)
{
lcd.print("0");
}
lcd.print(secC1); // display Seconds
lcd.setCursor(6,0); // Set cursor position on LCD
if (centC1<10)
{
lcd.print("0");
}
lcd.print(centC1); // Display Hundred
}
if (StartVitesseC2 == HIGH && FinVitesseC2 == LOW)
{
tmpPasseChrono2 = millis() - startChrono2; // temps passé depuis le lancement de chrono 2
centC2 = (tmpPasseChrono2%1000)/10 ; //centieme chrono 2 to display
secC2 = (tmpPasseChrono2/1000)%60 ; //second chrono 2 to display
/--------------------------display chrono 2 ---------------------------------/
lcd.setCursor(13,0); // Set cursor position on LCD
lcd.print(".");
lcd.setCursor(11,0); // Set cursor position on LCD
if (secC2<10)
{
lcd.print("0");
}
lcd.print(secC2); // display Seconds
lcd.setCursor(14,0); // Set cursor position on LCD
if (centC2<10)
{
lcd.print("0");
}
lcd.print(centC2); // Display Hundred
}
}
/-------------------------display resultat ---------------------------------------------/
if (FinVitesseC1 == HIGH && FinVitesseC2 == HIGH)
{
MoyenneChrono = (resultChrono1 + resultChrono2)/2;
centM = (MoyenneChrono%1000)/10 ; //centieme to display
secM = (MoyenneChrono/1000)%60 ; //second to display
lcd.setCursor(5,1); // Set cursor position on LCD
lcd.print(".");
lcd.setCursor(3,1); // Set cursor position on LCD
if (secM <10)
{
lcd.print("0");
}
lcd.print(secM); // display Seconds
lcd.setCursor(6,1); // Set cursor position on LCD
if (centM<10)
{
lcd.print("0");
}
lcd.print(centM); // Display Hundred
}
/---------------------------------RAZ---------------------------------------------------/
if (StateRAZ == LOW)
{
LAP1 = 0;
LAP2 = 0;
StateA1 = HIGH; // status actuel du bouton A1
StateB1 = HIGH; // status actuel du bouton B1
StateA2 = HIGH; // status actuel du bouton A2
StateB2 = HIGH; // status actuel du bouton B2
StateModeC = HIGH; // status actuel du bouton ModeC
StateRAZ = HIGH; // status actuel du bouton RAZ
StateLarg = HIGH; // status actuel du bouton Larg
StateEssai = HIGH; // status actuel du bouton Essai
StatePlanSecu = HIGH; // status actuel plan de secu
PrevStateA1 = HIGH; // status précédént du bouton A1
PrevStateB1 = HIGH; // status précédént du bouton B1
PrevStateA2 = HIGH; // status précédént du bouton A2
PrevStateB2 = HIGH; // status précédént du bouton B2
PrevStateRAZ = HIGH; // status précédént du bouton Raz
PrevStateLarg = HIGH; // status précédént du bouton Larguague
PrevStateEssai = HIGH; // status précédent du bouton Essais
PrevStatePlanSecu = HIGH; // status précédent du bouton plan de secu
StartVitesseC1 = LOW; // Vitesse demarré par le concurent
FinVitesseC1 = LOW; // Fin vitesse par le concourent
StartVitesseC2 = LOW; // Vitesse demarré par le concurent
FinVitesseC2 = LOW; // Fin vitesse par le concourent
HorsTemps = LOW; // Si concurent est hors temps
PassageAC1 = LOW; // Passage a la base A pour le chrono 1
PassageAC2 = LOW; // Passage a la base A pour le chrono 1
PassageBC1 = LOW; // Passage a la base A pour le chrono 1
PassageBC2 = LOW; // Passage a la base A pour le chrono 1
BIPB = LOW; // Son klaxon Base
BIPE = LOW; // Son klaxon Error
affichage = LOW; // Autorise l'affichage sur l'ecran de
PlanDeSecu = LOW; // Plan de secu
Larguer = LOW; // Planeur Larguer
Nbtour = 4; // nombre de passage de base a affectuer
LAP1 = 0; //compte le nombre de passage en base A et B pour chrono 1
LAP2 = 0; //compte le nombre de passage en base A et B pour chrono 2
NbEssais = 0; //compte le nombre d'essais du concurent
toto = 0;
startChrono1 = 0; // temps de démarage chrono 1
startChrono2 = 0; // temps de démarage chrono 2
tmpPasseChrono1 = 0; // temps passé depuis le lancement de chrono 1
tmpPasseChrono2 = 0; // temps passé depuis le lancement de chrono 2
tmpPreparation = 0; // temps de preparation du concurent
resultChrono1 = 0; // resultat chrono 1
resultChrono2 = 0; // resultat chrono 2
MoyenneChrono = 0; // Moyenne chrono 1 et chrono 2
T1 = 0; // Chrono T1
T2 = 0; // chrono T2
BIPBTime = 0; // Longeur du BIP base
BIPETime = 0; // Longeur du BIP erreur
centC1 = 0; // afficher les centieme de chrono 1
secC1=0; // seconds les sec de chrono 1
centC2 = 0; // afficher les centieme de chrono 2
secC2=0; // seconds les sec de chrono 2
centM = 0; // afficher les centieme de Moyenne
secM=0; // seconds les sec de Moyenne
lcd.setCursor(3,0);
lcd.print(" ");
lcd.setCursor(11,0);
lcd.print(" ");
lcd.setCursor(3,1);
lcd.print(" ");
lcd.setCursor(11,1);
lcd.print(" ");
}
/--------------------------------------------------diplay debug-------------------------------------------/
lcd.setCursor(0,1);
lcd.print(StateA1);
lcd.setCursor(1,1);
lcd.print(StateB1);
lcd.setCursor(2,1);
lcd.print(StateA2);
lcd.setCursor(3,1);
lcd.print(StateB2);
lcd.setCursor(4,1);
lcd.print(StateRAZ);
lcd.setCursor(5,1);
lcd.print(StateLarg);
lcd.setCursor(6,1);
lcd.print(LAP1);
lcd.setCursor(7,1);
lcd.print(LAP2);
}