/*=========== Lecture 2voies proportionnelles pour piloter 8 relais ================
Les 2 manches au neutre à la mise en route ==> les 8 relais sont "off"
Pour les radios programmablles, débattements à 100%
Malheureusement les relais chinois que j'utilise fonctionne en logique inverse, donc relai appelé lorsque sortie Arduino = LOW
Donc ce programme est adapté en consequence (les sortie sont HIGH au repos)
On utilise les 8 positions cardinales des 2 manches pour piloter les 8 relais
Dans ce sketch lecture de la valeur des voies sur le moniteur série (peu être supprimée)
========================================================================= */
int signal1 = 2; // Déclare le signal voie 1 sur le pin 2
int val1; // Valeur du signal voie 1
int signal2 = 3; // Déclare le signal voie 2 sur le pin 3
int val2; // Valeur du signal voie 2
int cpt1 = 0; // Compteur point 1
int etatpt1 = LOW; // L'état de la position point 1 (voie 1 en haut)
int mempt1 = LOW; // La mémoire de l'état de la position point 1 (voie 1 en haut)
int cpt2 = 0; // Compteur point 2
int etatpt2 = LOW; // L'état de la position point 2 (voie 1 en bas)
int mempt2 = LOW; // La mémoire de l'état de la position point 2 (voie 1 en bas)
int cpt3 = 0; // Compteur point 3
int etatpt3 = LOW; // L'état de la position point 3 (voie 2 à gauche)
int mempt3 = LOW; // La mémoire de l'état de la position point 3 (voie 2 à gauche)
int cpt4 = 0; // Compteur point 4
int etatpt4 = LOW; // L'état de la position point 4 (voie 2 à droite)
int mempt4 = LOW; // La mémoire de l'état de la position point 4 (voie 2 à droite)
int cpt5 = 0; // Compteur point 5
int etatpt5 = LOW; // L'état de la position point 5 (voie 1 en haut et voie 2 à gauche en position médiane)
int mempt5 = LOW; // La mémoire de l'état de la position point 5 (voie 1 en haut et voie 2 à gauche en position médiane)
int cpt6 = 0; // Compteur point 6
int etatpt6 = LOW; // L'état de la position point 6 (voie 1 en bas et voie 2 à droite en position médiane)
int mempt6 = LOW; // La mémoire de l'état de la position point 6 (voie 1 en bas et voie 2 à droite en position médiane)
int cpt7 = 0; // Compteur point 7
int etatpt7 = LOW; // L'état de la position point 7 (voie 1 en bas et voie 2 à gauche en position médiane)
int mempt7 = LOW; // La mémoire de l'état de la position point 75 (voie 1 en bas et voie 2 à gauche en position médiane)
int cpt8 = 0; // Compteur point 8
int etatpt8 = LOW; // L'état de la position point 8 (voie 1 en haut et voie 2 à droite en position médiane)
int mempt8 = LOW; // La mémoire de l'état de la position point 6 (voie 1 en haut et voie 2 à droite en position médiane)
int mini = 1000; // Valeur mini du signal
int maxi = 2000; // Valeur maxi du signal
const int rel1 = 4; // Relais 1 monté par pt1
const int rel2 = 5; // Relais 2 monté par pt2
const int rel3 = 6; // Relais 3 monté par pt3
const int rel4 = 7; // Relais 4 monté par pt4
const int rel5 = 8; // Relais 5 monté par pt5
const int rel6 = 9; // Relais 6 monté par pt6
const int rel7 = 10; // Relais 7 monté par pt7
const int rel8 = 11; // Relais 8 monté par pt8
void setup()
{
Serial.begin(9600);
pinMode(signal1, INPUT); // Déclare signal 1 comme une entrée
pinMode(signal2, INPUT); // Déclare signal 2 comme une entrée
pinMode(rel1, OUTPUT); // Déclare le pin 4 en sortie
pinMode(rel2, OUTPUT); // Déclare le pin 5 en sortie
pinMode(rel3, OUTPUT); // Déclare le pin 6 en sortie
pinMode(rel4, OUTPUT); // Déclare le pin 7 en sortie
pinMode(rel5, OUTPUT); // Déclare le pin 8 en sortie
pinMode(rel6, OUTPUT); // Déclare le pin 9 en sortie
pinMode(rel7, OUTPUT); // Déclare le pin 10 en sortie
pinMode(rel8, OUTPUT); // Déclare le pin 11 en sortie
digitalWrite(rel1, HIGH); // SORTIE4 (OFF)
digitalWrite(rel2, HIGH); // SORTIE5 (OFF)
digitalWrite(rel3, HIGH); // SORTIE6 (OFF)
digitalWrite(rel4, HIGH); // SORTIE7 (OFF)
digitalWrite(rel5, HIGH); // SORTIE8 (OFF)
digitalWrite(rel6, HIGH); // SORTIE9 (OFF)
digitalWrite(rel7, HIGH); // SORTIE10 (OFF)
digitalWrite(rel8, HIGH); // SORTIE11 (OFF)
}
void loop()
{
val1 = pulseIn(signal1, HIGH), 30000; //Lire signal voie1 et de le stocker en tant que val1
val1 = map(val1, mini, maxi, 1000, 2000); //Met en forme le signal entre 1000 et 2000
val1 = constrain(val1, 1000, 2000); //Contraint le signal entre 1000 et 2000
val2 = pulseIn(signal2, HIGH), 30000; //Lire signal voie 2 et de le stocker en tant que val2
val2 = map(val2, mini, maxi, 1000, 2000); //Met en forme le signal entre 1000 et 2000
val2 = constrain(val2, 1000, 2000); //Contraint le signal entre 1000 et 2000
//----------------------------------------------------------------------------------
// TRAITEMENT SIGNAL VOIE 1, POINT HAUT (PT1)
//----------------------------------------------------------------------------------
// Si le signal voie 1 à sa valeur haute >1900, on passe son état à HIGH
if ((val1 > 1900) && (val1 < 2001) && (val2 < 1600) && (val2 > 1400)) // Voie1 en haut et voie 2 au milieu
{
etatpt1 = HIGH; //on passe l'état point 1 à HIGH
}
else
{
etatpt1 = LOW; //Sinon, on passe l'état point 1 à LOW
}
//----------------------------------------------------------------------------------
if((etatpt1 != mempt1) && (etatpt1 == HIGH) && (cpt1 == 0)) // Si le signal point 1 a un état différent de celui enregistré et que cet état est "haut" + compteur=0
{
cpt1 = 1; // on passe le compteur à 1
mempt1 = etatpt1; // on enregistre en mémoire l'état de la position point 1 pour le tour suivant
digitalWrite(rel1, LOW); // relais 1 passe à ON (logique inverse)
}
//----------------------------------------------------------------------------------
if((etatpt1 != mempt1) && (etatpt1 == LOW) && (cpt1 == 1)) // Si le signal point 1 a un état différent de celui enregistré et que cet état est "LOW" + compteur=1 (on à quitté le point 1)
{
mempt1 = 0; // on enregistre en mémoire l'état de la position point 1 pour le tour suivant
cpt1 = 2; // on passe le compteur à 2
}
//----------------------------------------------------------------------------------
if((etatpt1 != mempt1) && (etatpt1 == HIGH) && (cpt1 == 2)) // Si le signal point 1 a un état différent de celui enregistré et que cet état est "haut" + compteur=2 (deuxième tour)
{
mempt1 = etatpt1; // on enregistre en mémoire l'état de la position point 1 pour le tour suivant
cpt1 = 3; // on passe le compteur à 3
digitalWrite(rel1, HIGH); // relais 1 passe à OFF (logique inverse)
}
//----------------------------------------------------------------------------------
if((etatpt1 != mempt1) && (etatpt1 == LOW) && (cpt1 == 3)) // Si le signal point 1 a un état différent de celui enregistré et que cet état est "LOW" + compteur=3 (on à quitté le point 1, deuxième tour)
{
mempt1 = 0; // on enregistre en mémoire l'état de la position point 1 pour le tour suivant
cpt1 = 0; // on passe le compteur à 0
}
//----------------------------------------------------------------------------------
// TRAITEMENT SIGNAL VOIE 1, POINT BAS (PT2)
//----------------------------------------------------------------------------------
// Si le signal voie 1 à sa valeur basse <1100, on passe son état à HIGH
if ((val1 < 1100) && (val1 > 999) && (val2 < 1600) && (val2 > 1400)) // Voie 1 en bas et voie 2 au milieu
{
etatpt2 = HIGH; //on passe l'état voie 1 en bas à HIGH
}
else
{
etatpt2 = LOW; //Sinon, on passe l'état voie 1 en bas à LOW
}
//----------------------------------------------------------------------------------
if((etatpt2 != mempt2) && (etatpt2 == HIGH) && (cpt2 == 0)) // Si le signal point 2 a un état différent de celui enregistré et que cet état est "haut" + compteur=0
{
cpt2 = 1; // on passe le compteur à 1
mempt2 = etatpt2; // on enregistre en mémoire l'état de la position point 2 pour le tour suivant
digitalWrite(rel2, LOW); // relais 2 passe à ON (logique inverse)
}
//----------------------------------------------------------------------------------
if((etatpt2 != mempt2) && (etatpt2 == LOW) && (cpt2 == 1)) // Si le signal point 2 a un état différent de celui enregistré et que cet état est "LOW" + compteur=1 (on à quitté le point 2)
{
mempt2 = 0; // on enregistre en mémoire l'état de la position point 2 pour le tour suivant
cpt2 = 2; // on passe le compteur à 2
}
//----------------------------------------------------------------------------------
if((etatpt2 != mempt2) && (etatpt2 == HIGH) && (cpt2 == 2)) // Si le signal point 2 a un état différent de celui enregistré et que cet état est "haut" + compteur=2 (deuxième tour)
{
mempt2 = etatpt2; // on enregistre en mémoire l'état de la position point 2 pour le tour suivant
cpt2 = 3; // on passe le compteur à 3
digitalWrite(rel2, HIGH); // relais 2 passe à OFF (logique inverse)
}
//----------------------------------------------------------------------------------
if((etatpt2 != mempt2) && (etatpt2 == LOW) && (cpt2 == 3)) // Si le signal point 2 a un état différent de celui enregistré et que cet état est "LOW" + compteur=3 (on à quitté le point 2, deuxième tour)
{
mempt2 = 0; // on enregistre en mémoire l'état de la position point 2 pour le tour suivant
cpt2 = 0; // on passe le compteur à 0
}
//----------------------------------------------------------------------------------
// TRAITEMENT SIGNAL VOIE 2, A GAUCHE (POINT 3)
//----------------------------------------------------------------------------------
// Si le signal voie 2 à sa valeur haute >1900, on passe son état à HIGH
if ((val2 > 1900) && (val2 < 2001) && (val1 < 1600) && (val1 > 1400)) // Voie 2 à gauche et Voie 1 au milieu
{
etatpt3 = HIGH; //on passe l'état point 3 à HIGH
}
else
{
etatpt3 = LOW; //Sinon, on passe l'état point 3 à LOW
}
//----------------------------------------------------------------------------------
if((etatpt3 != mempt3) && (etatpt3 == HIGH) && (cpt3 == 0)) // Si le signal point 3 a un état différent de celui enregistré et que cet état est "haut" + compteur=0
{
cpt3 = 1; // on passe le compteur à 1
mempt3 = etatpt3; // on enregistre en mémoire l'état de la position point 3 pour le tour suivant
digitalWrite(rel3, LOW); // relais 3 passe à ON (logique inverse)
}
//----------------------------------------------------------------------------------
if((etatpt3 != mempt3) && (etatpt3 == LOW) && (cpt3 == 1)) // Si le signal point 3 a un état différent de celui enregistré et que cet état est "LOW" + compteur=1 (on a quitté le point 3)
{
mempt3 = 0; // on enregistre en mémoire l'état de la position point 3 pour le tour suivant
cpt3 = 2; // on passe le compteur à 2
}
//----------------------------------------------------------------------------------
if((etatpt3 != mempt3) && (etatpt3 == HIGH) && (cpt3 == 2)) // Si le signal point 3 a un état différent de celui enregistré et que cet état est "haut" + compteur=2 (deuxième tour)
{
mempt3 = etatpt3; // on enregistre en mémoire l'état de la position point 3 pour le tour suivant
cpt3 = 3; // on passe le compteur à 3
digitalWrite(rel3, HIGH); // relais 3 passe à OFF (logique inverse)
}
//----------------------------------------------------------------------------------
if((etatpt3 != mempt3) && (etatpt3 == LOW) && (cpt3 == 3)) // Si le signal point 3 a un état différent de celui enregistré et que cet état est "LOW" + compteur=3 (on a quitté le point 3, deuxième tour)
{
mempt3 = 0; // on enregistre en mémoire l'état de la position Voie 2 pour le tour suivant
cpt3 = 0; // on passe le compteur à 0
}
//----------------------------------------------------------------------------------
// TRAITEMENT SIGNAL VOIE 2, A DROITE (POINT 4)
//----------------------------------------------------------------------------------
// Si le signal voie 2 à sa valeur basse <1100, on passe son état à HIGH
if ((val2 < 1100) && (val2 > 999) && (val1 < 1600) && (val1 > 1400)) // Voie 2 à droite et Voie 1 au milieu
{
etatpt4 = HIGH; //on passe l'état point 4 à HIGH
}
else
{
etatpt4 = LOW; //Sinon, on passe l'état point 4 à LOW
}
//----------------------------------------------------------------------------------
if((etatpt4 != mempt4) && (etatpt4 == HIGH) && (cpt4 == 0)) // Si le signal point 4 a un état différent de celui enregistré et que cet état est "haut" + compteur=0
{
cpt4 = 1; // on passe le compteur à 1
mempt4 = etatpt4; // on enregistre en mémoire l'état de la position point 4 pour le tour suivant
digitalWrite(rel4, LOW); // relais 4 passe à ON (logique inverse)
}
//----------------------------------------------------------------------------------
if((etatpt4 != mempt4) && (etatpt4 == LOW) && (cpt4 == 1)) // Si le signal point 4 a un état différent de celui enregistré et que cet état est "LOW" + compteur=1 (on à quitté le point 4)
{
mempt4 = 0; // on enregistre en mémoire l'état de la position point 4 pour le tour suivant
cpt4 = 2; // on passe le compteur à 2
}
//----------------------------------------------------------------------------------
if((etatpt4 != mempt4) && (etatpt4 == HIGH) && (cpt4 == 2)) // Si le signal point 4 a un état différent de celui enregistré et que cet état est "haut" + compteur=2 (deuxième tour)
{
mempt4 = etatpt4; // on enregistre en mémoire l'état de la position point 4 pour le tour suivant
cpt4 = 3; // on passe le compteur à 3
digitalWrite(rel4, HIGH); // relais 4 passe à OFF (logique inverse)
}
//----------------------------------------------------------------------------------
if((etatpt4 != mempt4) && (etatpt4 == LOW) && (cpt4 == 3)) // Si le signal point 4 a un état différent de celui enregistré et que cet état est "LOW" + compteur=3 (on à quitté le point 4, deuxième tour)
{
mempt4 = 0; // on enregistre en mémoire l'état de la position point 4 pour le tour suivant
cpt4 = 0; // on passe le compteur à 0
}
//----------------------------------------------------------------------------------
// TRAITEMENT SIGNAL VOIE1 + VOIE 2, V1 en HAUT et V2 à GAUCHE EN POSITION MEDIANE (POINT 5)
//----------------------------------------------------------------------------------
// Si le signal voie 1 à sa valeur comprise entre 1850 et 2001 ainsi que la voie 2, on est sur le point 5
if ((val1 < 2001) && (val1 > 1850) && (val2 < 2001) && (val2 > 1850)) // on est sur le point 5
{
etatpt5 = HIGH; //on passe l'état point 5 à HIGH
}
else
{
etatpt5 = LOW; //Sinon, on passe l'état point 5 à LOW
}
//----------------------------------------------------------------------------------
if((etatpt5 != mempt5) && (etatpt5 == HIGH) && (cpt5 == 0)) // Si le signal point 5 a un état différent de celui enregistré et que cet état est "haut" + compteur=0
{
cpt5 = 1; // on passe le compteur à 1
mempt5 = etatpt5; // on enregistre en mémoire l'état de la position point 5 pour le tour suivant
digitalWrite(rel5, LOW); // relais 5 passe à ON (logique inverse)
}
//----------------------------------------------------------------------------------
if((etatpt5 != mempt5) && (etatpt5 == LOW) && (cpt5 == 1)) // Si le signal point 5 a un état différent de celui enregistré et que cet état est "LOW" + compteur=1 (on à quitté le point 5)
{
mempt5 = 0; // on enregistre en mémoire l'état de la position point 5 pour le tour suivant
cpt5 = 2; // on passe le compteur à 2
}
//----------------------------------------------------------------------------------
if((etatpt5 != mempt5) && (etatpt5 == HIGH) && (cpt5 == 2)) // Si le signal point 5 a un état différent de celui enregistré et que cet état est "haut" + compteur=2 (deuxième tour)
{
mempt5 = etatpt5; // on enregistre en mémoire l'état de la position point 5 pour le tour suivant
cpt5 = 3; // on passe le compteur à 3
digitalWrite(rel5, HIGH); // relais 5 passe à OFF (logique inverse)
}
//----------------------------------------------------------------------------------
if((etatpt5 != mempt5) && (etatpt5 == LOW) && (cpt5 == 3)) // Si le signal point 5 a un état différent de celui enregistré et que cet état est "LOW" + compteur=3 (on à quitté le point 5, deuxième tour)
{
mempt5 = 0; // on enregistre en mémoire l'état de la position point 5 pour le tour suivant
cpt5 = 0; // on passe le compteur à 0
}
//----------------------------------------------------------------------------------
// TRAITEMENT SIGNAL VOIE1 + VOIE 2, V1 en BAS et V2 à DROITE EN POSITION MEDIANE (POINT 6)
//----------------------------------------------------------------------------------
// Si le signal voie 1 à sa valeur comprise entre 1100 et 999 ainsi que la voie 2, on est sur le point 6
if ((val1 < 1100) && (val1 > 999) && (val2 < 1100) && (val2 > 999)) // on est sur le point 6
{
etatpt6 = HIGH; //on passe l'état point 6 à HIGH
}
else
{
etatpt6 = LOW; //Sinon, on passe l'état point 6 à LOW
}
//----------------------------------------------------------------------------------
if((etatpt6 != mempt6) && (etatpt6 == HIGH) && (cpt6 == 0)) // Si le signal point 6 a un état différent de celui enregistré et que cet état est "haut" + compteur=0
{
cpt6 = 1; // on passe le compteur à 1
mempt6 = etatpt6; // on enregistre en mémoire l'état de la position point 6 pour le tour suivant
digitalWrite(rel6, LOW); // relais 6 passe à ON (logique inverse)
}
//----------------------------------------------------------------------------------
if((etatpt6 != mempt6) && (etatpt6 == LOW) && (cpt6 == 1)) // Si le signal point 6 a un état différent de celui enregistré et que cet état est "LOW" + compteur=1 (on a quitté le point 6)
{
mempt6 = 0; // on enregistre en mémoire l'état de la position point 6 pour le tour suivant
cpt6 = 2; // on passe le compteur à 2
}
//----------------------------------------------------------------------------------
if((etatpt6 != mempt6) && (etatpt6 == HIGH) && (cpt6 == 2)) // Si le signal point 6 a un état différent de celui enregistré et que cet état est "haut" + compteur=2 (deuxième tour)
{
mempt6 = etatpt6; // on enregistre en mémoire l'état de la position point 6 pour le tour suivant
cpt6 = 3; // on passe le compteur à 3
digitalWrite(rel6, HIGH); // relais 6 passe à OFF (logique inverse)
}
//----------------------------------------------------------------------------------
if((etatpt6 != mempt6) && (etatpt6 == LOW) && (cpt6 == 3)) // Si le signal point 6 a un état différent de celui enregistré et que cet état est "LOW" + compteur=3 (on à quitté le point 6, deuxième tour)
{
mempt6 = 0; // on enregistre en mémoire l'état de la position point 6 pour le tour suivant
cpt6 = 0; // on passe le compteur à 0
}
//----------------------------------------------------------------------------------
// TRAITEMENT SIGNAL VOIE1 + VOIE 2, V1 en BAS et V2 à GAUCHE EN POSITION MEDIANE (POINT 7)
//----------------------------------------------------------------------------------
// Si le signal voie 1 à sa valeur comprise entre 1100 et 999 1 et la voie 2 un signal compris entre 1850 et 2001, on est sur le point 7
if ((val1 < 1100) && (val1 > 999) && (val2 < 2001) && (val2 > 1850)) // on est sur le point 7
{
etatpt7 = HIGH; //on passe l'état point 7 à HIGH
}
else
{
etatpt7 = LOW; //Sinon, on passe l'état point 7 à LOW
}
//----------------------------------------------------------------------------------
if((etatpt7 != mempt7) && (etatpt7 == HIGH) && (cpt7 == 0)) // Si le signal point 7 a un état différent de celui enregistré et que cet état est "haut" + compteur=0
{
cpt7 = 1; // on passe le compteur à 1
mempt7 = etatpt7; // on enregistre en mémoire l'état de la position point 7 pour le tour suivant
digitalWrite(rel7, LOW); // relais 7 passe à ON (logique inverse)
}
//----------------------------------------------------------------------------------
if((etatpt7 != mempt7) && (etatpt7 == LOW) && (cpt7 == 1)) // Si le signal point 7 a un état différent de celui enregistré et que cet état est "LOW" + compteur=1 (on a quitté le point 7)
{
mempt7 = 0; // on enregistre en mémoire l'état de la position point 7 pour le tour suivant
cpt7 = 2; // on passe le compteur à 2
}
//----------------------------------------------------------------------------------
if((etatpt7 != mempt7) && (etatpt7 == HIGH) && (cpt7 == 2)) // Si le signal point 7 a un état différent de celui enregistré et que cet état est "haut" + compteur=2 (deuxième tour)
{
mempt7 = etatpt7; // on enregistre en mémoire l'état de la position point 7 pour le tour suivant
cpt7 = 3; // on passe le compteur à 3
digitalWrite(rel7, HIGH); // relais 7 passe à OFF (logique inverse)
}
//----------------------------------------------------------------------------------
if((etatpt7 != mempt7) && (etatpt7 == LOW) && (cpt7 == 3)) // Si le signal point 7 a un état différent de celui enregistré et que cet état est "LOW" + compteur=3 (on à quitté le point 7, deuxième tour)
{
mempt7 = 0; // on enregistre en mémoire l'état de la position point 7 pour le tour suivant
cpt7 = 0; // on passe le compteur à 0
}
//----------------------------------------------------------------------------------
// TRAITEMENT SIGNAL VOIE1 + VOIE 2, V1 en HAUT et V2 à DROITE EN POSITION MEDIANE (POINT 8)
//----------------------------------------------------------------------------------
// Si le signal voie 1 à sa valeur comprise entre 1850 et 2001 et la voie 2 un signal compris entre 999 et 1100, on est sur le point 8
if ((val1 < 2001) && (val1 > 1850) && (val2 < 1100) && (val2 > 999)) // on est sur le point 8
{
etatpt8 = HIGH; //on passe l'état point 8 à HIGH
}
else
{
etatpt8 = LOW; //Sinon, on passe l'état point 8 à LOW
}
//----------------------------------------------------------------------------------
if((etatpt8 != mempt8) && (etatpt8 == HIGH) && (cpt8 == 0)) // Si le signal point 8 a un état différent de celui enregistré et que cet état est "haut" + compteur=0
{
cpt8 = 1; // on passe le compteur à 1
mempt8 = etatpt8; // on enregistre en mémoire l'état de la position point 8 pour le tour suivant
digitalWrite(rel8, LOW); // relais 8 passe à ON (logique inverse)
}
//----------------------------------------------------------------------------------
if((etatpt8 != mempt8) && (etatpt8 == LOW) && (cpt8 == 1)) // Si le signal point 8 a un état différent de celui enregistré et que cet état est "LOW" + compteur=1 (on a quitté le point 8)
{
mempt8 = 0; // on enregistre en mémoire l'état de la position point 8 pour le tour suivant
cpt8 = 2; // on passe le compteur à 2
}
//----------------------------------------------------------------------------------
if((etatpt8 != mempt8) && (etatpt8 == HIGH) && (cpt8 == 2)) // Si le signal point 8 a un état différent de celui enregistré et que cet état est "haut" + compteur=2 (deuxième tour)
{
mempt8 = etatpt8; // on enregistre en mémoire l'état de la position point 8 pour le tour suivant
cpt8 = 3; // on passe le compteur à 8
digitalWrite(rel8, HIGH); // relais 7 passe à OFF (logique inverse)
}
//----------------------------------------------------------------------------------
if((etatpt8 != mempt8) && (etatpt8 == LOW) && (cpt8 == 3)) // Si le signal point 8 a un état différent de celui enregistré et que cet état est "LOW" + compteur=3 (on à quitté le point 8, deuxième tour)
{
mempt8 = 0; // on enregistre en mémoire l'état de la position point 7 pour le tour suivant
cpt8 = 0; // on passe le compteur à 0
}
//----------------------------------------------------------------------------------
Serial.print("val1 = ");
Serial.println(val1);
Serial.print("val2 = ");
Serial.println(val2);
delay(500);
}
|