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
Publicar un comentario