long distancia;//Se introducen como variables los pines y el sensor de ultrasonido
long tiempo;
int pinTrig=9;
int pinEcho=10;
int verde=7;
int amarillo=6;
int rojo=5;
int zumbador=3;
void setup() {
Serial.begin(9600);//Declaro los pines de salida
pinMode(pinTrig,OUTPUT);
pinMode(pinEcho,INPUT);
pinMode(verde,OUTPUT);
pinMode(amarillo,OUTPUT);
pinMode(rojo,OUTPUT);
pinMode(zumbador,OUTPUT);
}
void loop() {
digitalWrite(pinTrig,LOW);//Declaro el funcionamiento del ultrasonido, así como su funcionamiento
delayMicroseconds(5);
digitalWrite(pinTrig,HIGH);
delayMicroseconds(10);
tiempo=pulseIn(pinEcho,HIGH);
distancia= int(0.017*tiempo);
Serial.println("Distancia");
Serial.println(distancia);
Serial.println("cm");
delay(1000);
if (distancia>30)//Declaro una función, si se cumple, se realizará la condición, pero si no se cumple, se buscará otra de las condiciones que se sitúan dentro de esta condición, para mirar si se cumple alguna de ellas
{
digitalWrite(verde,HIGH);
digitalWrite(amarillo,LOW);
digitalWrite(rojo,LOW);
noTone(zumbador);
}
else
{
if ((distancia<30) && (distancia>20))
{
digitalWrite(amarillo,HIGH);
digitalWrite(verde,LOW);
digitalWrite(rojo,LOW);
tone(zumbador,1500);
}
else{
if ((distancia<20) && (distancia>10))
{
digitalWrite(rojo,HIGH);
digitalWrite(verde,LOW);
digitalWrite(amarillo,LOW);
tone(zumbador,4000);
}
else
{
for(int i=0;i<=5;i++){//Con esta condición, el led rojo realizará un parpadeo si se cumple lo anterior
digitalWrite(rojo,HIGH);
delay(100);
digitalWrite(rojo,LOW);
}
digitalWrite(verde,LOW);
digitalWrite(amarillo,LOW);
tone(zumbador,7000);
}
}
}
}
Comentarios
Publicar un comentario