# Semáforo distancia

Queremos poner un ejemplo de un sensor que tenga 4 pines, barato y que puede darnos mucho juego pues nos da información de la distancia en la que se encuentra un objeto.

![](https://libros.catedu.es/uploads/images/gallery/2022-03/embedded-image-1mrjbxfp.png)

Funciona por eco entre la señal que se emite por Trg y la que se recibe por Echo y para su utilización requiere utilizar la fórmula de conversión de tiempo a espacio con la fórmula de la velocidad del sonido... tranqui !! no lo vamos a hacer, pues ya mBlock tiene una función especial para ello sin utilizar fórmulas y **nos da directamente la distancia en cm**, pero si quieres saber más sobre este sensor, te recomendamos la página de [Luis Llamas.](https://www.luisllamas.es/medir-distancia-con-arduino-y-sensor-de-ultrasonidos-hc-sr04/)

[![echidna-semaforo-distancia1.jpg](https://libros.catedu.es/uploads/images/gallery/2023-11/scaled-1680-/echidna-semaforo-distancia1.jpg)](https://libros.catedu.es/uploads/images/gallery/2023-11/echidna-semaforo-distancia1.jpg)

##### <span style="color: rgb(22, 145, 121);">**RETO LEER EL VALOR DEL SENSOR ULTRASONIDOS**</span>

Queremos que el objeto panda nos diga la distancia en cm

<span style="color: rgb(22, 145, 121);">**SOLUCIÓN**</span>

Hay un problema

<p class="callout info">En mBlock3 se puede utilizar en vivo. En mBlock5 **no se puede UTILIZAR EN VIVO LA INSTRUCCION LEE SENSOR ULTRASONIDOS** no sabemos por qué. Sólo podemos cargar el programa en el Arduino</p>

Gracias a la contestación [de este foro](https://forum.makeblock.com/t/how-to-enable-the-block-read-ultrasonic-sensor-trig-pin-echo-pin/17009/3), podemos hacerlo instalando una extensión

[![echidna-semaforo-distancia2.jpg](https://libros.catedu.es/uploads/images/gallery/2023-11/scaled-1680-/echidna-semaforo-distancia2.jpg)](https://libros.catedu.es/uploads/images/gallery/2023-11/echidna-semaforo-distancia2.jpg)

Hay que instalarlo **en los dos, en el Arduino y en el objeto Panda**

En el objeto panda pondremos este código

[![echidna-semaforo-distancia3..jpg](https://libros.catedu.es/uploads/images/gallery/2023-11/scaled-1680-/echidna-semaforo-distancia3.jpg)](https://libros.catedu.es/uploads/images/gallery/2023-11/echidna-semaforo-distancia3.jpg)

CONEXIOONES Como se necesitan 4 pines, y las extensiones tienen 3 utilizaremos alguno libre.

La conexión que vamos a realizar entre los pines I/O de Echidna y el sensor ultrasonidos HC-SR04 va a ser:  
  
 *el D4 en Trig*  el D7 en Echo  
 *el '+' en Vcc*  el G en GND

y en el Arduino el siguiente programa, y pulsamos SUBIR

[![echidna-semaforo-distancia4.jpg](https://libros.catedu.es/uploads/images/gallery/2023-11/scaled-1680-/echidna-semaforo-distancia4.jpg)](https://libros.catedu.es/uploads/images/gallery/2023-11/echidna-semaforo-distancia4.jpg)

Resultado: El panda nos dice en cm el obstáculo que ponemos delante del sensor US:

[![echidna-semaforo-distancia5.jpg](https://libros.catedu.es/uploads/images/gallery/2023-11/scaled-1680-/echidna-semaforo-distancia5.jpg)](https://libros.catedu.es/uploads/images/gallery/2023-11/echidna-semaforo-distancia5.jpg)

El programa lo tienes aquí : [https://planet.mblock.cc/project/3233976](https://planet.mblock.cc/project/3233976)

#### <span style="color: rgb(22, 145, 121);">**RETO RADAR LUMINOSO** </span>

Realizar un programa que a medida que se acerque un objeto, se enciendan más luces

##### <span style="color: rgb(22, 145, 121);">**Solución**</span>

El programa es simplemente recoger la distancia con la instrucción que hemos señalado antes. La conexión igual que antes y por lo tanto el programa es poner de límites 50cm, 40cm, 30cm, 20cm y 10cm para ir encendiendo luces.  
  
El programa es largo

[![echidna-semaforo-distancia6.jpg](https://libros.catedu.es/uploads/images/gallery/2023-11/scaled-1680-/echidna-semaforo-distancia6.jpg)](https://libros.catedu.es/uploads/images/gallery/2023-11/echidna-semaforo-distancia6.jpg)

El programa lo tienes aquí [https://planet.mblock.cc/project/3233931](https://planet.mblock.cc/project/3233931)

El resultado es :

<iframe allowfullscreen="allowfullscreen" height="314" id="bkmrk--7" src="//www.youtube.com/embed/7s1LDSDaA_A" width="560"></iframe>

Los siguientes retos, aunque las imágenes se ve que no están hechos con Echidna, da igual, es simplemente conectar el trig y echo en los pines D4 y D7 del Echidna y utilizar la instrucción de *"lee el sensor ultrasónico trig pin 4 echo pin 7"* (o utilizar otro orden o el D8 si te pones revelde y cambiar los números anteriores) **¿Te atreves a hacerlos todos ?**

<iframe allowfullscreen="allowfullscreen" class="giphy-embed" frameborder="0" height="394" id="bkmrk--9" src="https://giphy.com/embed/aCrRttmzK1jKo" width="480"></iframe>

[via GIPHY](https://giphy.com/gifs/yes-the-big-bang-theory-sheldon-cooper-aCrRttmzK1jKo)

 **RETO HINCAR UNA PELOTA**  Pon de sprite una pelota y que se hinche a medida que acercas un objeto al ultrasonidos. [Solución](https://catedu.github.io/ensena-pensamiento-computacional-con-arduino/ultrasonidos.html)

**RETO PIANO INVISIBLE**

Que suene una nota según la distancia del objeto. [Solución](https://catedu.github.io/ensena-pensamiento-computacional-con-arduino/piano_invisible_con_ultrasonidos.html)

**RETO RADAR CON INTERMITENCIA DE UN LED**

Cuanto más cerca está un objeto, más rápido un led se enciende y apaga. [Solución](https://catedu.github.io/ensena-pensamiento-computacional-con-arduino/con_un_led.html)

**RETO SENSOR PARKING**

Cuanto más cerca está un objeto, más rápido suena un pitido intermitente [Solución](https://catedu.github.io/ensena-pensamiento-computacional-con-arduino/con_altavoz_del_pc.html)