Bonjour !
Après le montage de mon joli robot, j'ai un trajet à lui faire faire. Cela dit, sur son chemin il peut y avoir des obstacles imprévus, ce qui fait que je l'ai équipé de magnifique capteurs.
Mon problème maintenant c'est comment faire pour que quand un capteur sois activé:
- Le robot s'arrête directement
- La programmation du temps de trajet se mette en pause pour pas tout dérégler.
Actuellement dans mon programme, le moteur s'arrête et c'est juste, mais le programme du trajet continue entre 2 et je ne veux pas.
Donc comment faire une "pause globale" du programme ?
Merci d'avance !
//Déclaration des variables int AvD = 0; //Capteur avant-droite int AvG = 0; //Capteur avant-gauche int ArD = 0; //Capteur arrière-droite int ArG = 0; //Capteur arrière-gauche void setup() { //Adressage des moteurs //Moteur 1 pinMode(12, OUTPUT); //Indique la direction du moteur pinMode(9, OUTPUT); //Active ou désactive le frein du moteur //Moteur 2 pinMode(13, OUTPUT); //Indique la direction du moteur pinMode(8, OUTPUT); //Active ou désactive le frein du moteur //Adresse des capteurs pinMode(28, INPUT); //Capteur Avant-droite pinMode(26, INPUT); //Capteur avant-gauche pinMode(22, INPUT); //Capteur arrière-droite pinMode(24, INPUT); //Capteur arrière-gauche //Adressage du système de départ pinMode(30, INPUT); //Système de départ } void loop() { avant(); delay(1000); arriere(); delay(1000); } void avant() { AvG = digitalRead(26); if (AvG == HIGH) { digitalWrite(12, HIGH); digitalWrite(9, LOW); analogWrite(3, 255); digitalWrite(13, HIGH); digitalWrite(8, LOW); analogWrite(11, 255); } else { digitalWrite(9, HIGH); digitalWrite(8, HIGH); } } void arriere() { AvG = digitalRead(26); if (AvG == HIGH) { digitalWrite(12, LOW); digitalWrite(9, LOW); analogWrite(3, 255); digitalWrite(13, LOW); digitalWrite(8, LOW); analogWrite(11, 255); } else { digitalWrite(9, HIGH); digitalWrite(8, HIGH); } }