long tiempo;//Creamos la variable del tiempo
int pinTrig=9;//Declaramos la variable Trig, que es el que envía el ultrasonido en el pin 9.
int pinEcho=8; //Declaramos la varibale Echo, que es la que recoge el rebote del ultrasonido, en el pin8.
int verde=13;//Declaramos el led verde en el pin 13.
int amarillo=2;//Declaramos el led amarillo en el pin 2;
int rojo=4;//Declaramos el led rojo en el pin 4;
int sonido=6;//Declaramos el zumbador en el pin 6;
int tonoa=2000;//Declaramos el tono a en 2000hz.
int tonob=5000;//Declaramos el tono b en 5000Hz.
int tonoc=1000;//Declaramos el tono c en 1000Hz.
void setup(){
Serial.begin(9600);//velocidad de conexión de la placa a 9600 bytes por segundo.
pinMode(pinTrig, OUTPUT); //PIN9 como salida/TRIG para enviar el ultrasonido
pinMode(pinEcho, INPUT);//PIN8 entrada,recoge el rebote del ultrasonido
pinMode(verde,OUTPUT);// led verde como salida.
pinMode(rojo,OUTPUT);//led rojo como salida
pinMode(amarillo,OUTPUT);//led amarillo como salida.
pinMode(sonido,OUTPUT);//el zumbador como salida.
}
void loop(){
digitalWrite(pinTrig,LOW); /* Por cuestión de estabilización del sensor*/
delayMicroseconds(5);//esperamos 5 microsegundos.
digitalWrite(pinTrig, HIGH); /* envío del pulso ultrasónico*/
delayMicroseconds(10);//esperamos 10 microsegundos.
tiempo=pulseIn(pinEcho, HIGH);//
distancia= int(0.017*tiempo); //establecemos la ditancia en 0.017*tiempo y la distancia medida en cm
Serial.println("Distancia ");//En la consola aparece la palabra distancia.
Serial.println(distancia);
Serial.println(" cm");//En la consola aparece la palabra cm
delay(1000);//esperamos 1000ms
if(distancia>30){//creamos una condicional
digitalWrite(rojo,LOW);
digitalWrite(amarillo,LOW);
digitalWrite(verde,LOW);
noTone(sonido);
delay(10);//si la distancia es mayor que 30 cm todos los led estan apagados y esperamos 10 ms.
}else
{
if(distancia>20d&&distancia<30 span="">
digitalWrite(rojo,LOW);
digitalWrite(verde,HIGH);
digitalWrite(amarillo,LOW);
tone(sonido,tonoc,1000);
delay(10);//si la distancia es mayor de 20 cm y menor que 30 cm solo se encience el led verde y espera 10 ms.
}
else{
if(10<=distancia&&distancia<20 span="">
digitalWrite(rojo,LOW);
digitalWrite(amarillo,HIGH);
digitalWrite(verde,LOW);
tone(sonido,tonob,100);
delay(10);//si la distancia es mayor o igual que 10 cm y menos que 20 cm ,se enciende el del amarillo y cambia el tono y el tiempo del zumbador.
}
else{
if(distancia<10 span="">
digitalWrite(rojo,HIGH);
digitalWrite(amarillo,LOW);
digitalWrite(verde,LOW);
tone(sonido,tonoc,10);
delay(10);si la distancia es manor que 10 cm, solo se enciende el led rojo y esperamos 10 ms y cambia el tono y el tiempo del zumbador
}
}
}
}10>20>30>
No hay comentarios:
Publicar un comentario