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);
}
}












