// // ######################### // # DISTANCIATION SOCIALE # // ######################### // # Guy Magli 27.04.2020 # // ######################### // # Conception, cablages # // # mises a jour, # // # contact... # // # www.magli.fr # // ######################### // // Afin d'eviter les problemes d'affichage et d'impression les signes diacritiques // ont ete retires des commentaires et des chaines de caracteres. // // ! ================================================= ! // ! VARIABLES GLOBALES, CONSTANTES ET INITIALISATIONS ! // ! ================================================= ! // const int iTrig = 9; const int iEcho = 8; const int iBuzzer = 10; int t, g; long lMesure = 0; float fDistance = 0; // // ! ===== ! // ! SETUP ! // ! ===== ! // void setup() { Serial.begin(115200); // Pour le débogage pinMode(iTrig, OUTPUT); pinMode(iEcho, INPUT); pinMode(iBuzzer, OUTPUT); digitalWrite(iTrig, LOW); } // // ! ==== ! // ! LOOP ! // ! ==== ! // void loop() { // Envoi d'un ultrason digitalWrite(iTrig, HIGH); delayMicroseconds(10); digitalWrite(iTrig, LOW); // Réception lMesure = pulseIn(iEcho, HIGH, 25000); fDistance = lMesure / 68; delay(1000); Serial.println(fDistance); // Signaux sonores selon la distance calculee if (fDistance < 150) { for (t = 0; t < 20; t++) { digitalWrite(iBuzzer, HIGH); delay(10); digitalWrite(iBuzzer, LOW); delay(10); } delay(100); } if (fDistance < 100) { for (g = 0; g < 2; g++) { for (t = 0; t < 20; t++) { digitalWrite(iBuzzer, HIGH); delay(10); digitalWrite(iBuzzer, LOW); delay(10); } delay(100); } } if (fDistance < 50) { for (g = 0; g < 4; g++) { for (t = 0; t < 20; t++) { digitalWrite(iBuzzer, HIGH); delay(10); digitalWrite(iBuzzer, LOW); delay(10); } delay(100); } } delay(1000); digitalWrite(iTrig, LOW); }