# Bluetooth IV El programa en mBlock

Como ya hemos visto NO podemos usar EdhidnaML pues trabaja en vivo y el HC06 bloquea el cable USB

##### <span style="color: rgb(22, 145, 121);">**PASO 1 INSTALAMOS EL DISPOSITIVO ARDUINO IDE**</span>

Vamos a Dispositivos - Añadir - Arduino UNO (no vale el Echidna ni el Arduino nano)

[![2025-12-05 10_03_34-mBlock v5.4.3.png](https://libros.catedu.es/uploads/images/gallery/2025-12/scaled-1680-/2025-12-05-10-03-34-mblock-v5-4-3.png)](https://libros.catedu.es/uploads/images/gallery/2025-12/2025-12-05-10-03-34-mblock-v5-4-3.png)

##### <span style="color: rgb(22, 145, 121);">**PASO 2 INSTALAMOS LA EXTENSIÓN BLUETOOTH SERIAL**</span>

Hay muchas extensiones que trabajan el Bluetooth con Arduino (hay mucha basura) hemos elegido este pues es una extensión sencilla, en castellano y que envía como recibe por el Bluetooth

[![2025-12-05 10_15_18-Greenshot image editor.png](https://libros.catedu.es/uploads/images/gallery/2025-12/scaled-1680-/2025-12-05-10-15-18-greenshot-image-editor.png)](https://libros.catedu.es/uploads/images/gallery/2025-12/2025-12-05-10-15-18-greenshot-image-editor.png)

##### <span style="color: rgb(22, 145, 121);">**PASO 3 PROGRAMA**</span>

<span style="color: rgb(0, 0, 0);">Con la extensión instalada y el dispositivo ya podemos empezar a programar</span>

<span style="color: rgb(0, 0, 0);">**ENUNCIADO** Vamos a realizar un programa que envíe y reciba datos desde la APP del móvil al Echidna</span>

- <span style="color: rgb(0, 0, 0);">Si envío una R se enciende el Rojo</span>
- <span style="color: rgb(0, 0, 0);">Si envío una A se enciende el Amarillo</span>
- <span style="color: rgb(0, 0, 0);">Si envío una L que me diga el nivel de Luz que hay, 10 lecturas para ver cómo cambia</span>

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

<span style="color: rgb(0, 0, 0);">[![2025-12-05 10_17_34-mBlock v5.4.3.png](https://libros.catedu.es/uploads/images/gallery/2025-12/scaled-1680-/2025-12-05-10-17-34-mblock-v5-4-3.png)](https://libros.catedu.es/uploads/images/gallery/2025-12/2025-12-05-10-17-34-mblock-v5-4-3.png)  
El programa lo puedes descargar aquí [https://planet.mblock.cc/project/6844489](https://planet.mblock.cc/project/6844489)</span>

1. <span style="color: rgb(0, 0, 0);">Utilizamos los pines del Arduino (busca instrucciones azules Pin) el led rojo está en D13 y en naranja en el 12 de momento empezamos poniéndolos apagados</span>
2. **PONEMOS LA VELOCIDAD DE BLUETOOTH A 9600** HAY QUE BAJARLO SINO NO FUNCIONA  
    
    1. Y ponemos Rx que es D0 y Tx es D1 como hemos visto anteriormente
3. El programa empieza con el clásico bucle y pregunta si se han recibido datos
4. Si se han recibido datos pues entonces lo almacena en una variable interna llamada "Letra"
5. Si Letra = R entonces se enciende el led Rojo
6. Si Letra = A entonces se enciende el led Amarillo
7. Si Letra = L entonces es que preguntamos qué nivel hay de Luz
8. Entramos en un bucle de 10 veces tal y como dice el enunciado
9. Escribe en la APP el valor de la luz medida en el sensor LDR que está en el **A5**
    1. OJO HAY QUE **MAPEARLO** (ya hemos visto qué significa esto) y la instrucción de mapear está en violeta en Datos

<p class="callout info">**CUÁNTO HAY QUE MAPEARLO** pues el LDR según [www.echidna.es](https://www.echidna.es) va desde 1 a 900 y Bluetooth **solo lee un carácter en ASCII** luego convertimos el valor de A5 (1-900) a un valor ASCII que si vemos la tabla, lo hacemos para los valores de los caracteres 48 (0) a 57 (9) y así nos da una lectura de la cantidad de luz entre 0 y 9</p>

<table class="table table-ascii table-bordered table-border-ascii table-hover table-xs page-break" id="bkmrk-valor-ascii-caracter" style="height: 458px; width: 100%;"><thead><tr><td style="width: 49.9405%;">VALOR ASCII</td><td style="width: 49.9405%;">CARACTER</td></tr></thead><tbody><tr><td style="width: 49.9405%;">48</td><td style="width: 49.9405%;">0</td></tr><tr><td style="width: 49.9405%;">49</td><td style="width: 49.9405%;">1</td></tr><tr><td style="width: 49.9405%;">50</td><td style="width: 49.9405%;">2</td></tr><tr><td style="width: 49.9405%;">51</td><td style="width: 49.9405%;">3</td></tr><tr><td style="width: 49.9405%;">52</td><td style="width: 49.9405%;">4</td></tr><tr><td style="width: 49.9405%;">53</td><td style="width: 49.9405%;">5</td></tr><tr><td style="width: 49.9405%;">54</td><td style="width: 49.9405%;">6</td></tr><tr><td style="width: 49.9405%;">55</td><td style="width: 49.9405%;">7</td></tr><tr><td style="width: 49.9405%;">56</td><td style="width: 49.9405%;">8</td></tr><tr><td style="width: 49.9405%;">57</td><td style="width: 49.9405%;">9</td></tr></tbody></table>

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

<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" frameborder="0" height="849" src="https://www.youtube.com/embed/g1jR_YQzg84" title="BLUETOOTH MBLOCK Y ECHIDNA" width="477"></iframe>

##### <span style="color: rgb(22, 145, 121);">**Otras APPs**</span>

Hay otras apps como el Arduino Bluetooth Control que permite poner flechas, control de voz... pero no permite envío de Echidna a APP

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

Incluso se podría hacer un coche teledirigido, el programa lo tienes en el repositorio: [https://github.com/JavierQuintana/Echidna](https://github.com/JavierQuintana/Echidna) y el vídeo en el [muro](https://libros.catedu.es/books/echidna/page/muro)