# Módulo HC-06

Vamos a utilizar en estos ejemplos un módulo **esclavo** de bluetooth **JY-MCU** o también **HC-06** muy común y económico. Es posible usar otros módulos ya que existe un mercado de desarrollo continuo, en cualquier caso el funcionamiento básico es el mismo. Dicho módulo por tratarse de un módulo **esclavo**, está configurado para conectarse a un maestro y recibir órdenes de él.

Inicialmente no necesitas configurarlo, sino que al cargar el código desde el ordenador, conectarás el módulo y este **empezará a parpadear** indicando que está buscando un master al que conectarse, (por ejemplo tu teléfono o una llave bluetooth usb conectado a un pc... ).

Como ya sabrás los dispositivos de este tipo tienen que “emparejarse” y tienen que compartir una contraseña para que los datos puedan intercambiarse. Por defecto, estos módulos tienen la contraseña **1234**, aunque tanto esto como el nombre, pueden ser actualizados mediante unos comandos especiales, llamados AT y que veremos un poco más adelante.

Arduino tiene 2 pines que permiten enviar y transmitir datos serie (uno datos tras otro). Lo usamos continuamente cuando enviamos un programa desde nuestro ordenador a Arduino o cuando hacemos una lectura desde el monitor serie (con un **Serial.print();\*\*).**

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

Arduino tiene definidos estos pines como:

- pin digital 0: RX &lt;- (Arduino recibe a través de este pin).
- pin digital 1: TX -&gt; (Arduino envía a través de este pin).

El módulo bluetooth tiene 4 patillas. 2 para la alimentación y 2 para la comunicación.

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

<p class="callout danger">Es **MUY IMPORTANTE** conectar de manera correcta estos pines con Arduino para la correcta comunicación. **La patilla que emite los datos (TX) en el bluetooth debe estar conectada a la que recibe los datos (RX) en Arduino, y viceversa.** </p>

Aunque el módulo funciona a 3.3v, normalmente las placas comerciales, (como la que estamos usando), llevan un regulador y las podemos conectar directamente a los 5v de Arduino.

#### <span style="color: rgb(22, 145, 121);">**Conexión en la shield Edubásica**</span>

La conexión es muy fácil, ya tiene JP6 para conectarlo diréctamente, con la luz led mirando hacia dentro de la placa:

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

#### **<span style="color: rgb(22, 145, 121);">Conexión sin la shield Edubásica</span>**

Es también simple, utilizando una placa Protoboard pero **intercambiando Rx y Tx** es decir Rx del HC-06 con Tx del Arduino y Tx del HC-06 con Rx del Arduino.

<p class="callout info">![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-x0f6sioz.png)**Nota**; No necesariamente hay que conectar Rx y Tx a D0 y D1, pues esto tiene una fuerte desventaja: Ocupas el puerto serie cuando conectas el Bluetooth.   
**Hay que quitar el HC-06 cada vez que te conectes por el puerto serie (es decir cuando te conectas por USB para cargar un programa)**    
la ventaja que tiene es que no ocupas otros pines de datos.  
Yo personalmente sin la shield, prefiero conectar HC\_06 en otros pines D0 y D1 y así no tengo que ir quitando y poniendo el módulo HC-06. Mira el curso DOMOTICA CON ARDUINO para ver un ejemplo del HC-06 no conectado al D0 D1  
[https://libros.catedu.es/books/domotica-con-arduino/page/bluetooth](https://libros.catedu.es/books/domotica-con-arduino/page/bluetooth-app-arduino-I6y)  
[https://libros.catedu.es/books/domotica-con-arduino/page/bluetooth-2](https://libros.catedu.es/books/domotica-con-arduino/page/bluetooth-app-arduino-I6y-app-arduino)</p>

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

Si la luz está intermitente, el módulo no está vinculado, si está encendido permanente, ya está vinculado.

Una vez vinculado, la orden es sencilla: ***dato = Serial.read();***

donde dato es tipo byte : ***byte dato;***

<p class="callout info">**Recuerda**, si estas usando los 2 mismos pines que Arduino usa para la comunicación USB con el ordenador (D0, D1), **no puedes usar el monitor serie** ni para cargar un programa ni para visualizar los datos utilizando el Bluetooth. Igualmente la velocidad tiene que ser igual para entenderse, no pueden ser diferentes.</p>