PRÁCTICA 6: Diseño de un parktronic con Arduino utilizando un ultrasonido
Esta práctica consiste en un parktronic, utilizando leds de color rojo, amarillo y verde, un zumbador, y un sensor de ultrasonido.
long distancia;//Se introducen como entradas y salidas los pines y el sensor de ultrasonido y como variables la distancia y el tiempo.
long tiempo;
int pinTrig=9;
int pinEcho=8;
int pinG=7;
int pinY=6;
int pinR=5;
int zumbador=3;
void setup() {
Serial.begin(9600);//Declaro los pines como salidas y entradas.
pinMode(pinTrig,OUTPUT);
pinMode(pinEcho,INPUT);
pinMode(pinG,OUTPUT);
pinMode(pinY,OUTPUT);
pinMode(pinR,OUTPUT);
pinMode(zumbador,OUTPUT);
}
void loop() {
digitalWrite(pinTrig,LOW);//Declaro el funcionamiento del ultrasonido, así como las variables tiempo y distancia.
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 condicionante, si se cumple, se realizará lo introducido, pero si no se cumple, se buscará otra de las condiciones que se sitúan dentro de esta condicionante, con el fin de observar si alguna de ellas se cumple.
{
digitalWrite(pinG,HIGH);
digitalWrite(pinY,LOW);
digitalWrite(pinR,LOW);
noTone(zumbador);
}
else
{
if ((distancia<30) && (distancia>20))
{
digitalWrite(pinY,HIGH);
digitalWrite(pinG,LOW);
digitalWrite(pinR,LOW);
tone(zumbador,1500);
}
else{
if ((distancia<20) && (distancia>10))
{
digitalWrite(pinR,HIGH);
digitalWrite(pinG,LOW);
digitalWrite(pinY,LOW);
tone(zumbador,4000);
}
else{
for(int i=0;i<=5;i++){//Con esta condicionante, el led rojo realizará un parpadeo si se cumple lo anterior
digitalWrite(pinR,HIGH);
delay(100);
digitalWrite(pinR,LOW);
}
digitalWrite(pinG,LOW);
digitalWrite(pinY,LOW);
tone(zumbador,7000);
}
}
}
}
No hay comentarios:
Publicar un comentario