#define TrigPin 33
#define EchoPin 25
#define Buzzer 26
double Temperature = 20.0;
void setup()
{
Serial.begin(115200);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
pinMode(Buzzer, OUTPUT);
}
void loop()
{
double cm = readUltraSound();
Serial.printf("Distance : %lf cm \n", cm);
if(cm < 100)
{
tone(Buzzer, 1000, cm*5);
delay(cm*5);
}
delay(50);
}
double readUltraSound()
{
digitalWrite(TrigPin, 0);
delayMicroseconds(5);
digitalWrite(TrigPin, 1);
delayMicroseconds(10);
digitalWrite(TrigPin, 0);
double Time = pulseIn(EchoPin, HIGH);
double Speed = 331.5 + 0.6*Temperature;
Speed = Speed / 10000;
return Speed * Time / 2;
}