# Anexo II Avanzado: Bluetooth

No forma parte del contenido obligatorio del curso

# Un poco de teoría

{{@7221}}

# APP Serial Bluetooth Terminal

{{@13598}}

# El HC06

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

<p class="callout warning">**ATENCIÓN**: COMO PUEDES VER LOS PINES DE TRANSMISIÓN Y DE RECEPCIÓN SON D0 Y D1 QUE COINCIDEN CON LA TRANSMISIÓN Y RECEPCIÓN DEL PUERTO SERIE UCB **POR LO TANTO NO SE PUEDE UTILIZAR A LA VEZ EL HC06 Y LOS DATOS POR EL USB <span style="background-color: rgb(241, 196, 15);">EL HC06 BLOQUEA LA COMUNICACIÓN POR CABLE</span>**</p>

<p class="callout success">ESTA ES LA RAZÓN POR LA CUAL **NO SE PUEDE UTILIZAR EL PROGRAMA ECHIDNA ML** PARA PROGRAMAR   
PUES TRABAJA EN VIVO, puedes utilizar cualquier programa que trabaje en carga: mBlock, ArduinoIDE...</p>

[![2025-12-05 09&#95;34&#95;26-Microsoft PowerPoint - &#91;Presentación1&#93;.png](https://libros.catedu.es/uploads/images/gallery/2025-12/scaled-1680-/2025-12-05-09-34-26-microsoft-powerpoint-presentacion1.png)](https://libros.catedu.es/uploads/images/gallery/2025-12/2025-12-05-09-34-26-microsoft-powerpoint-presentacion1.png)  
*Fuente de las imágenes: [www.echidna.es](https://www.echidna.es)*

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

Echidna tiene un conector preparado para conectar un módulo de Bluetooth

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

Nosotros utilizaremos un JY-MCU o [HC-06](https://www.electronicaembajadores.com/es/Productos/Detalle/LCBTHT6/modulos-electronicos/modulos-bluetooth/modulo-bluetooth-hc-06) muy común y barato :  
![](https://libros.catedu.es/uploads/images/gallery/2022-03/embedded-image-l2xxsilg.png)

Para conectar el HC-06 lo hacemos hacia abajo de modo que coincida los pines:

<table id="bkmrk-pines-del-hc-06-pine" style="height: 160px;" width="504"><thead><tr><th style="width: 167.656px;">Pines del HC-06</th><th style="width: 167.656px;">Pines del Echidna</th><th style="width: 167.688px;">Pines del Arduino</th></tr></thead><tbody><tr><td style="width: 167.656px;">Vcc</td><td style="width: 167.656px;">5V</td><td style="width: 167.688px;">5V</td></tr><tr><td style="width: 167.656px;">GND</td><td style="width: 167.656px;">GND</td><td style="width: 167.688px;">GND</td></tr><tr><td style="width: 167.656px;">RX</td><td style="width: 167.656px;">TX</td><td style="width: 167.688px;">D1</td></tr><tr><td style="width: 167.656px;">TX</td><td style="width: 167.656px;">RX</td><td style="width: 167.688px;">D0</td></tr></tbody></table>

[![2026-10-09 11&#95;29&#95;46-WhatsApp.png](https://libros.catedu.es/uploads/images/gallery/2026-10/scaled-1680-/2026-10-09-11-29-46-whatsapp.png)](https://libros.catedu.es/uploads/images/gallery/2026-10/2026-10-09-11-29-46-whatsapp.png)

Een la black es igual hacia abajo pero **ponlo en medio del zócalo** para que coincida bien, pues en el Echidna Black el zócalo hembra tiene 6 pines y el HC06 tiene 4:

[![EchidnaBlack&#95;0&#95;BT34-600x336.png](https://libros.catedu.es/uploads/images/gallery/2025-12/scaled-1680-/echidnablack-0-bt34-600x336.png)](https://libros.catedu.es/uploads/images/gallery/2025-12/echidnablack-0-bt34-600x336.png)  
Imagen [www.echidna.es](https://www.echidna.es)

# l programa en mBlock

<p class="callout warning">Como ya hemos visto **NO podemos usar EdhidnaML** pues trabaja en vivo y el HC06 bloquea el cable USB, tenemos que usar algún programa compatible con Echidna (=Arduino) y que trabaje en **carga**. Hemos elegido **mBlock** [https://mblock.cc/](https://mblock.cc/)</p>

##### <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&#95;03&#95;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&#95;15&#95;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&#95;17&#95;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/escuela-40-programacion-en-primaria-con-echidna/page/muro)