/*SIMULAR Y MONTAR UN SEN SOR DE ULTRASONIDO
PARA ESTE CASO EL DISPOSITIVO TIENE UNA REFERENCIA
COMERCIAL
HR04CF, EL OBJETIVO ES QUE ENTREGUE DISTANCIA EN CM
EMPLEAR EL GPIO5 BAJO UNA
ETIQUETA TRIGER Y EMPLEAR GPIO18 ECO DE 2 CM A 280*/
//si la distancia esta entre 2 y <15 enciende dos led rojos
//si la distancia es igual a =15 hasta <35 led amarillos
//si la distancia es igual a =35 hasta 200 dos led verdes
int triger=5;
int eco=18;
int tiempo=0;
int distancia=0;
int ledrojo1=15;
int ledama1=4;
int ledverde1=17;
void setup() {
Serial.begin(115200);
//triger envia señal,de 2 a 400cm
pinMode(triger,OUTPUT);
pinMode(eco,INPUT);
//pines de led
pinMode(ledrojo1,OUTPUT);
pinMode(ledama1,OUTPUT);
pinMode(ledverde1,OUTPUT);
Serial.print("*****registro de datos*****");
}
//los dispositivos ultrasonicos proporcionanseñales cuadradas
void loop() {
digitalWrite(triger,LOW);
delayMicroseconds(2);
digitalWrite(triger,HIGH);
delayMicroseconds(10);
digitalWrite(triger,LOW);
//0.034 medio por el cual viaja el pulso,
// se asemeja a la velocidad del sonido
tiempo=pulseIn(eco,HIGH);
distancia=(tiempo*0.034)/(2);
if(distancia >=0 && distancia <15){
digitalWrite(ledrojo1,HIGH);
digitalWrite(ledrojo1,LOW);
digitalWrite(ledrojo1,HIGH);
digitalWrite(ledrojo1,LOW);
delay(200);
}
else{
digitalWrite(ledrojo1,LOW);
delay (500);
}
if(distancia >=15 && distancia <30){
digitalWrite(ledama1,HIGH);
}
else{
digitalWrite(ledama1,LOW);
delay (500);
}
if(distancia >=30 && distancia <=180){
digitalWrite(ledverde1,HIGH);
}
else{
digitalWrite(ledverde1,LOW);
delay (500);
}
Serial.println("LA DISTANCIA ES:");
Serial.println(distancia);
delay(1500);
}