proyecto-no-3-controlar-un-led-con-un-sensor-de-distancia

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

www.ebotics.

com

PROYECTO Nº 3: Controlar un LED con un


sensor de distancia

Aprende a programar un circuito para controlar el encendido de un LED de color verde y un LED de
color rojo con un sensor de ultrasonidos de distancia. Cuando el sensor detecte un objeto a menos de
20 cm se encenderá el LED rojo y cuando la distancia sea mayor a 20 cm se encenderá el verde.

1
www.ebotics.com

NIVEL DE DIFICULTAD: INTERMEDIO.

DURACIÓN DE LA ACTIVIDAD: 30 min.

MATERIALES:

2 LEDs (1 Rojo y 1 Verde)


2 Resistencia 220
1 Sensor Ultrasonidos distancia
1 Placa Build&Code UNO
1 ProtoBoard

¿Qué es un sensor de distancia de ultrasonidos?

Un sensor de distancia utiliza el mismo principio que utilizan los murciélagos para volar sin chocar
con objetos. Emiten unas ondas de ultrasonidos y si éstas vuelven quiere decir que hay un objeto
delante nuestro, y entonces se decidirá si esquivarlo o ir a por él. En función de lo que tarden estas
ondas en ir y volver se puede determinar si el objeto se encuentra más cerca o más lejos.

2
www.ebotics.com

El sensor de ultrasonidos está formado por 2 módulos diferentes: un emisor y un receptor. El emisor
emite unas ondas de ultrasonidos, que son unas ondas sonoras que nosotros no podemos escuchar
(como las de los murciélagos). Éstas avanzan hasta encontrar obstáculos y, cuando los encuentran,
rebotan hacia el sensor, hasta que el ultrasonido es detectado por el módulo receptor.

Debido a que las ondas sonoras siempre viajan a la misma velocidad, cuando se desplazan por el aire

3
www.ebotics.com

(343 m/s), para saber a qué distancia se encuentra el objeto detectado se debe medir el tiempo que
tarda la onda en ir y volver, y dividirlo entre dos. El número resultante será el tiempo que ha tardado
desde que hemos emitido el ultrasonido hasta que ha chocado con el objeto, y no el tiempo desde
que ha salido hasta que ha llegado.

Una vez que sabemos cuánto tiempo han tardado las ondas sonoras en chocar con el objeto,
debemos multiplicar el tiempo de ida por la velocidad a la que viajan las ondas, y obtendremos la
distancia:

Distancia = 343m/s * tiempo (segundos)

Si la onda de ultrasonidos no vuelve, significa que no hay ningún obstáculo y el sensor informará de
que no hay nada delante suyo.

CONEXIONES:

1. La placa protoboard recibe la electricidad del pin de 5V de la placa Build&Code UNO y vuelve
de la protoboard a la Build&Code UNO a través del pin GND (tierra). Debes conectar todos los
GND del circuito entre sí, para que todos tengan el mismo valor de GND.
En la imagen, el color negro es el GND, donde todos los Grounds de cada componente están
conectados entre sí y al GND de la placa. El color rojo representa los 5V, que alimenta el
sensor de distancia.
2. Para activar los LEDs verde y rojo debes conectarlos a pines digital, que serán los pines
encargados de dar electricidad para que se enciendan.
La imagen muestra cómo el LED rojo se conecta con un cable verde al pin digital 11, y el LED
verde se conecta con un cable lila al pin digital 10.
3. El sensor de ultrasonidos tiene 4 pines, de los cuales 2 ya has conectado (5V y GND). Los otros
2 pines son ECHO y TRIG que deben ir conectados a 2 pines digitales, siendo estos pines los
encargados de enviar la información a la placa Build&Code UNO.
En la imagen puedes ver cómo del ultrasonic salen 4 cables, 1 GND, 1 5V, y 2 conectados a 2
pines digitales. El pin del sensor Trig se conecta con un cable amarillo al pin digital 7. El pin
del sensor Echo se conecta con un cable naranja al pin digital 8.

4
www.ebotics.com

CÓDIGO DE PROGRAMACIÓN

Puedes realizar este ejercicio utilizando el programa Arduino o un software de programación por
bloques compatible. A continuación encontrarás el código de programación necesario.

Código Arduino

Realizarás un programa que estará leyendo información del sensor de ultrasonidos de distancia de
forma continua. En función de la distancia que mida el sensor, se encenderá un LED u otro.

Para ello utilizarás una condición: si la distancia es menor que 20 cm, el LED rojo estará encendido
mientras que el verde estará apagado. Por el contrario, si la distancia es mayor a 20 cm, el LED
verde estará encendido y el LED rojo estará apagado.

Para medir la distancia tendrás que definir el pin TRIG como salida y el ECHO como entrada. El pin
TRIG será el encargado de enviar la señal de ultrasonidos hacia delante, y el pin ECHO será el
encargado de estar a la espera a recibir la señal.

En función del tiempo transcurrido entre el momento en que la señal ha sido enviada y recibida, se
puede saber a qué distancia está el objeto, ya que la velocidad del sonido en el aire siempre es 343,3
m/s.

Por lo que, si sabes el tiempo total, que es lo que tarda en llegar desde el sensor al objeto rebotado y
desde el objeto rebotado al sensor, puedes saber la distancia. Para ello, simplemente multiplicas el

5
www.ebotics.com

tiempo que tarda en llegar desde el sensor al objeto (dividir entre 2 el tiempo total) por la velocidad
del sonido en el aire:

Distancia = velocidad * tiempo/2

Para trabajar con más resolución, trabajarás en cm/us (centímetros por microsegundo), utilizando el
siguiente factor de conversión:

Una vez calculada la distancia, en función de su valor harás encender uno u otro LED. Para ello
definirás los 2 pines en los que conectes los LEDs como salida y, cuando quieras que esté encendido,
le darás un valor alto (HIGH o 1) y cuando quieras que esté apagado le darás un valor bajo (LOW o
0).

1. Descarga el software Arduino y realiza el proceso de instalación.


2. Abre el programa Arduino y, una vez en él, copia el siguiente programa:

int trigPin = 7; //Definimos los pines con los que trabajaremos


int echoPin = 8;
int LEDR = 10;
int LEDV = 11;
float velocidad = 0.0343; //velocidad del sonido en cm/us
long duracion, distancia ;

void setup()
{
pinMode(trigPin, OUTPUT); //Declaramos el pin digital 7 como salida
pinMode(echoPin, INPUT); //Declaramos el pin digital 8 como
entrada
pinMode(LEDR, OUTPUT); //Declaramos el pin digital 10 como salida
pinMode(LEDV, OUTPUT); //Declaramos el pin digital 11 como salida
digitalWrite (LEDR , LOW); //Definimos la salida digital 10 con un
estado bajo
digitalWrite (LEDV , LOW); //Definimos la salida digital 11 con un
estado bajo
}
void loop()
{
digitalWrite(trigPin, LOW); // Nos aseguramos de que el
trigger está desactivado

6
www.ebotics.com

delayMicroseconds(2); // Para asegurarnos de que el


trigger está LOW
digitalWrite(trigPin, HIGH); // Activamos el pulso de salida
delayMicroseconds(10); // Esperamos 10µs. El pulso sigue
active este tiempo
digitalWrite(trigPin, LOW); // Cortamos el pulso y a esperar
el ECHO
duracion = pulseIn(echoPin, HIGH) ; //pulseIn mide el tiempo que
pasa entre que el pin declarado (echoPin) cambia de estado bajo a alto
(de 0 a 1)
distancia = velocidad* duracion / 2; //Dividimos entre 2 porque
queremos coger el tiempo de ida (y no ida y vuelta)
// y entre 29,1 porque es 1
dividido entre la velocidad del sonido(1/(vel sonido) en cm/us
if ( distancia < 20){
digitalWrite (LEDR , HIGH); //Si el sensor detecta una
distancia menor a 20 cm enciende el LED Rojo
digitalWrite (LEDV , LOW); // y apaga el verde
}
else{ // de lo contrario
digitalWrite (LEDR , LOW); //apaga el rojo
digitalWrite (LEDV , HIGH); //enciende el verde
}
}

Código para software de programación por bloques compatible

1. Descarga el software y realiza el proceso de instalación.


2. Abre el programa y, una vez en él, copia el siguiente programa:

7
www.ebotics.com

RESULTADO DEL EJERCICIO

Cuando el sensor detecte un objeto a menos de 20 cm se encenderá el LED rojo y cuando la


distancia sea mayor a 20 cm se encenderá el verde.

También podría gustarte