/////////////////////////////////////////////// // Programme test pour capteur HC-SR05 // // Go Tronic 2017 // /////////////////////////////////////////////// #define trigPin 4 #define echoPin 0 long duration; long distance; /// Néopixels #include #define PIN 33 // Broche de votre ESP32 qui va contrôler les LEDs (A4 ou A5) #define NUMPIXELS 14 // Combien de Néopixels avons-nous ? Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); int LALED=0; int rouge=56; int vert=40; int bleu=255; /// void setup() { Serial.begin (115200); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); Serial.println("== Debut du programme =="); pixels.begin(); // INITIALISER l'objet NeoPixel } void loop() { // Envoie de l'onde digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); // Réception de l'écho duration = pulseIn(echoPin, HIGH); // Calcul de la distance distance = (duration/2) / 29.1; if (distance >= 400 || distance <= 0){ Serial.println("Hors plage"); } else { Serial.print("distance = "); Serial.print(distance); Serial.println(" cm"); } delay(25); // délai entre deux mesures pixels.clear(); // Initialiser tous les pixels à '0' pixels.setPixelColor(LALED, rouge, vert, bleu); pixels.setPixelColor(LALED+1, rouge, vert, bleu-1); pixels.setPixelColor(LALED+2, rouge, vert, bleu-2); pixels.setPixelColor(LALED+3, rouge, vert, bleu-3); if (distance <= 10) { pixels.setPixelColor(13, 200, 200, 200); } pixels.show(); delay(500); LALED=LALED+1; bleu=bleu-50; if(LALED>NUMPIXELS){ LALED=0; } } // Fin du loop