//Cálculo de distância utilizando o sensor
//ultrassônico HC-SR04
#define trig_pin 4
#define echo_pin 5
#define led 8
#define buzzer 2
int print_timer;
void setup()
{
Serial.begin(9600);
//Config.pinos de Trigger e Echo
pinMode(trig_pin, OUTPUT);
pinMode(echo_pin, INPUT);
pinMode(led, OUTPUT);
pinMode(buzzer, OUTPUT);
//Inicializa o pino de Trigger em LOW
digitalWrite(trig_pin, LOW);
}
void loop()
{
//Esperar 0,5 seg entre cada medição
if(millis() - print_timer > 500)
{
print_timer = millis();
//Pulso de HIGH de pelo menos 10us para iniciar a medição
digitalWrite(trig_pin, HIGH);
delayMicroseconds(11);//aguarda 11 microsegundos
digitalWrite(trig_pin, LOW);
//Medir quanto tempo o pino de echo fica em nível alto
int pulse_time = pulseIn(echo_pin, HIGH);
//Calcular a distância usando a metade da velocidade do som
//Velocidade do som = 0,0343 cm/us
double distance = 0.01715*pulse_time;
//Imprimir o vamor da distância
Serial.print("Distancia: ");
Serial.print(distance);
Serial.println("cm");
if(distance < 60 && distance > 45)
{
digitalWrite(led, HIGH);
//digitalWrite(buzzer, LOW);
noTone(buzzer);
}
else if(distance <= 45)
{
digitalWrite(led, HIGH);
//digitalWrite(buzzer, HIGH);
tone(buzzer, 450, 300);
}
else
{
digitalWrite(led, LOW);
//digitalWrite(buzzer, LOW);
noTone(buzzer);
}
}
}