// Déclaration des broches pour les capteurs et LEDs
//capteur droit
const int trigPin1 = 2;
const int echoPin1 = 4;
//capteur gauche
const int trigPin2 = 8;
const int echoPin2 = 7;
// LED pied gauche
const int ledblanchegauche = 6;
const int ledbleuegauche = 9;
// LED pied droit
const int ledbleuedroit = 11;
const int ledblanchedroit = 10;
// Variable pour stocker la durée et la distance
long durationdroite;
long durationgauche;
float distancedroit;
float distancegauche;
void setup() {
Serial.begin(9600); // Pour afficher la distance dans le moniteur série
// Initialisation des broches des capteurs
pinMode(trigPin1, OUTPUT);
pinMode(echoPin1, INPUT);
pinMode(trigPin2, OUTPUT);
pinMode(echoPin2, INPUT);
// Initialisation des broches des LEDs RGB
pinMode(ledblanchegauche, OUTPUT);
pinMode(ledbleuegauche, OUTPUT);
pinMode(ledblanchedroit, OUTPUT);
pinMode(ledbleuedroit, OUTPUT);
}
void loop() {
calculer_distance_capteur_droit();
calculer_distance_capteur_gauche();
distancepiedsdroit();
// Affichage des distances
Serial.print("Distance Capteur 1: ");
Serial.println(distancedroit);
Serial.print("Distance Capteur 2: ");
Serial.println(distancegauche);
delay(200); // Petite pause pour la stabilité de la mesure*/
}
void calculer_distance_capteur_droit(){
// S'assurer que le trigPin est LOW
digitalWrite(trigPin1, LOW);
delayMicroseconds(2);
// Envoyer une impulsion HIGH de 10µs pour démarrer la mesure
digitalWrite(trigPin1, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin1, LOW);
// Lire la durée de l'impulsion Echo
durationdroite = pulseIn(echoPin1, HIGH);
// Calcul de la distance en cm
distancedroit = durationdroite * 0.0343 / 2;
}
void calculer_distance_capteur_gauche(){
// S'assurer que le trigPin est LOW
digitalWrite(trigPin2, LOW);
delayMicroseconds(2);
// Envoyer une impulsion HIGH de 10µs pour démarrer la mesure
digitalWrite(trigPin2, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin2, LOW);
// Lire la durée de l'impulsion Echo
durationgauche = pulseIn(echoPin2, HIGH);
// Calcul de la distance en cm
distancegauche = durationgauche * 0.0343 / 2;
}
void distancepiedsgauche()
{
if (distancegauche <= 21)
{
digitalWrite(ledblanchedroit, HIGH);
}
else
{
digitalWrite(ledblanchegauche, HIGH);
}
if (distancedroit <= 21)
{
digitalWrite(ledblanchedroit, LOW);
digitalWrite(ledbleuedroit, HIGH);
digitalWrite(ledbleuegauche, HIGH);
}
else {
digitalWrite(ledblanchedroit, HIGH);
}
if (distancegauche && distancedroit > 21)
{
digitalWrite(ledblanchegauche, HIGH);
}
else {
digitalWrite(ledblanchedroit, HIGH);
}
}
void distancepiedsdroit()
{
if (distancedroit <= 21)
{
digitalWrite(ledblanchegauche, HIGH);
}
else
{
digitalWrite(ledblanchedroit, HIGH);
}
if (distancegauche <= 21)
{
digitalWrite(ledblanchegauche, LOW);
digitalWrite(ledbleuedroit, HIGH);
digitalWrite(ledbleuegauche, HIGH);
}
else {
digitalWrite(ledblanchegauche, HIGH);
}
if (distancegauche && distancedroit > 21)
{
digitalWrite(ledblanchedroit, HIGH);
}
else {
digitalWrite(ledblanchegauche, HIGH);
}
}