/*
HC-SR04 Ultrasonic Sensor Example.
Turn the LED on when an object is within 100cm range.
*/
#define ECHO_PIN 2
#define TRIG_PIN 3
#define LED_PIN 13
#define BUZZER 5
const int Mesure_Max = 100 ; // en cm
const int Mesure_Min = 20 ; // en cm
long Duree;
float Distance; // distance mesurée
void setup() {
Serial.begin(115200);
pinMode(BUZZER, OUTPUT);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW);
noTone(BUZZER);
}
// +++++++++++ Routine mesure par Ultra son +++++++++++++++++
float readDistanceCM() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
int duration = pulseIn(ECHO_PIN, HIGH);
return duration * 0.034 / 2;
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void loop() {
Distance = readDistanceCM();
if (Distance >= Mesure_Max || Distance <= Mesure_Min) {
Serial.println("Hors plage");
noTone(BUZZER);
}
else {
Serial.print("Distance Mesurée: ");
Serial.println(Distance);
tone(BUZZER, Distance * 40); //fréquence
}
//bool isNearby = Distance < 100; // test seuil
// digitalWrite(LED_PIN, isNearby);
// tone(BUZZER, 1000, 1000); //fréquence , durée
delay(100);
}