Sensor de proximidad

 El día de hoy hicimos un circuito con una placa de pruebas, un Arduino, y un sensor de proximidad.

Con esto buscamos encender un LED cada que el senosr detecta un objeto cercano o lejano, ya sea que encienda verde, amarillo o rojo.

Para esto necesitamos la placa Arduino, la protoboard, 3 LED´s, un sensor de proximidad, un emisor de sonido y objetos para detectar la proximidad (en este caso ocupe resistencias).

El sensor detectará que hay un objeto cerca o lejos, por lo que emitirá un sonido y dependiendo, si esta cerca prenderá rojo, si esta a una distancia media estara en amarillo, si está lejos encenderá de verde. 


Es una conexión algo compleja, pero vaya que es satisfactorio obtener el resultado.

EJECUTAMOS NUESTRO CÓDIGO 




const int led_rojo = 2;


const int led_amarillo = 3;


const int led_verde = 4;


const int parlante = 9;


void setup()


{


pinMode(led_rojo,OUTPUT);


pinMode(led_amarillo,OUTPUT);


pinMode(led_verde,OUTPUT); Serial.begin(9600);


}


void loop()


{


long distancia = 0.01723 * readUltrasonicDistance(5, 6);


delay(10);


Serial.println(distancia);


if((distancia>0)and(distancia<100))


{


digitalWrite(led_rojo,HIGH);


digitalWrite(led_amarillo,LOW);


digitalWrite(led_verde,LOW); tone(parlante,200,300);


}


if((distancia>100)and(distancia<200))


{


digitalWrite(led_rojo,LOW);


digitalWrite(led_amarillo,HIGH);


digitalWrite(led_verde,LOW);


tone(parlante,200,300);


delay(400);


} if((distancia>200)and(distancia<300))


{


digitalWrite(led_rojo,LOW);


digitalWrite(led_amarillo,LOW);


digitalWrite(led_verde,HIGH);


tone(parlante,200,300);


delay(700);


}


if(distancia>300)


{


digitalWrite(led_rojo,LOW);


digitalWrite(led_amarillo,LOW);


digitalWrite(led_verde,LOW);


}


}


long readUltrasonicDistance(int triggerPin, int echoPin)


{


// Instagram: @konredus 6


pinMode(triggerPin, OUTPUT); // Clear the trigger


digitalWrite(triggerPin, LOW);


delayMicroseconds(2);


// Sets the trigger pin to HIGH state for 10 microseconds


digitalWrite(triggerPin, HIGH);


delayMicroseconds(10);


digitalWrite(triggerPin, LOW);


pinMode(echoPin, INPUT);


// Reads the echo pin, and returns the sound wave travel time in microseconds

Return pulseIn(echoPin, HIGH);


}




Comentarios

Entradas populares