El Bluetooth en S4A

Objetivos

 

  • Ejecutar programas de S4A en nuestro Arduino sin necesidad de cables.
  • Presentar y configurar el módulo Bluetooth HC-06.
  • Conseguir comunicar el entorno S4A en el PC y Arduino mediante Bluetooth.
  •  

    Material requerido.

     

    Imagen de Arduino UNO Arduino Uno o compatible y con el firmware para S4A cargado.
    Un PC con el entorno S4A correctamente instalado y configurado.
    imagen frontal

     Un módulo BlueTooth HC-06

    conexiones

    Cables de protoboard, preferiblemente Dupont macho/hembra.

    INTRODUCCIÓN

     

    Si recordáis, en la introducción a S4A que hicimos cuando comenzamos el curso, dijimos que una de las limitaciones que tiene esta herramienta es que hay que tener siempre conectado el Arduino al PC para que S4A pueda comunicarse con él y ejecutar el programa que hayamos creado. Y desde entonces no hemos vuelto a hablar de ello, dando por hecho que sólo podíamos resignarnos y tenerlo conectado continuamente con un cable.

    Para  los proyectos que hemos realizado hasta ahora, esto del cable tampoco era un inconveniente muy grande, menos aún en las sesiones en las que hemos utilizado el escenario del S4A. Pero si se nos pasa por la cabeza la idea de hacer, por ejemplo, un robot tipo Rover (como esos que mandamos a la Luna), tener un cable molestando por ahí puede ser un engorro.

    Bueno, pues no mentíamos cuando decíamos que la placa necesita estar conectado al PC, pero lo del cable tiene solución: el Bluetooth. Como seguro que sabéis, el Bluetooth es una tecnología que nos permite comunicar dispositivos a distancia sin necesidad de cables, presente en los smartphones, tablets, en lo coches y en infinidad de dispositivos electrónicos.

    presentacion

    Y como no podría ser de otra manera, existen unos módulos que se conectan a nuestro Arduino y que nos servirán para otorgarle la capacidad de comunicarse vía Bluetooth con otros dispositivos que también soporten esta tecnología.

    Así que para conseguir nuestro propósito necesitamoss un PC con Bluetooth y un módulo Bluetooth para nuestro Arduino.

    ARDUINO Y LOS MÓDULOS BLUETOOTH

     

    Sabemos que nuestros Arduinos tienen un conector serie que utilizamos para conectarlo mediante un cable al USB de nuestro PC, y que esto nos permite tanto enviar como recibir datos. Sin embargo esta no es la única opción.

    Si nos fijamos en los pines 0 y 1 de Arduino veremos que al lado hay escrito Rx y Tx. ¿Qué significa esto? Pues que estos pines sirven también para realizar la comunicación serie de la misma forma que el cable que hemos utilizado hasta ahora. El pin 0 (Rx) se encarga de recibir datos y el pin 1 (Tx) de transmitir datos.

    partes-arduino-uno

    Así que si conectamos el módulo Bluetooth a esos dos pines podrá transmitir los datos que lleguen desde otros dispositivos Bluetooth a nuestro Arduino, pudiendo prescindir de cables.  En nuestro caso buscamos recibir los datos que le lleguen desde un PC con Bluetooth y que esté ejecutando S4A.

    Hay varios módulos Bluetooth para Arduino, y los más utilizados son el HC-05 y el HC-06. Recomendamos utilizar el HC-06 porque es el más sencillo de conectar y de usar, y será el que utilicemos nosotros para realizar esta sesión.

    El HC-06 tiene 4 pines, dos para la alimentación como ya es costumbre, y dos para comunicarse con nuestro Arduino, rotulados como Rx y Tx. A la hora de conectarlo a nuestro Arduino tenemos que conectar el Tx del módulo al Rx del Arduino, y el Tx del módulo al Rx del Arduino, de forma que lo que envíe el módulo Bluetooth lo reciba el Arduino y viceversa. Pero de momento no conectéis nada, ya explicaremos por qué.

    Vista posterior

    Pero antes de poder utilizarlo de esta forma con el S4A, vamos a tener que cambiar la configuración que tiene predeterminada en el HC-06.

    CONFIGURANDO EL HC-06 PARA S4A

     

    Para configurar el módulo vamos a tener que volver a utilizar el IDE de Arduino, el entorno de programación que se utiliza normalmente para programar los Arduinos, y que utilizamos en la primera sesión del curso de S4A para cargar el programa que nos permite usar S4A con nuestros Arduino. Si por alguna razón no tenéis descargado el IDE, aquí tenéis el enlace que explica cómo hacerlo.

    Ahora tenéis que descargar este archivo, que contiene el programa que configurará el Bluetooth: configurar_hc-06_s4a. Lo que hace el programa es cambiar el nombre y la contraseña del Bluetooth para que pongáis la que vosotros queráis, y configurar la velocidad de comunicación para que sea la misma que utiliza el S4A y puedan “entenderse”.

    Descomprimir el archivo y ejecutad el programa. En el programa podéis cambiar “PROMETEC” y “5678 por el nombre y la contraseña que queráis que tenga vuestro dispositivo:

    String nombre = "PROMETEC"; //Cambiar PROMETEC por el nombre deseado
    String password ="5678"; //Cambiar 5678 por el la contraseña deseada

    Una vez hecho esto tenemos que cargar el programa en Arduino. Para ello no tenéis más que pulsar en el icono con forma de flecha, y esperar a que en la parte de abajo os aparezca la palabra “Subido”.

    Captura

    Y una vez hecho esto tendréis que desconectar el cable del ordenador y conectar el módulo Bluetooth HC-06 de la forma que hemos indicado anteriormente y que podéis ver en la siguiente imagen:

    montaje bluetooth s4a

    Y ahora sí, ya podéis volver a conectar el cable del ordenador. Cuando veáis que se enciende el LED del Arduino que está conectado al pin 13 significará que ya ha terminado de configurarlo.

    Una vez configurado habrá que volver a desconectar el Bluetooth del Arduino y cargar el Firmware de S4A en el Arduino para poder volver a trabajar con S4A. Si no os acordáis cómo se hacía o no tenéis el archivo con el Firmware guardado, echad un ojo a esta sesión en la que explicamos cómo hacerlo.

  • Si os preguntáis a que viene tanto conectar y desconectar la explicación es que mientras tengamos conectados los pines 0 y 1 del Arduino, la conexión serie mediante el cable no funciona y no nos permite cargarle programas.
  • Por eso desconectamos el módulo para cargar el programa, y una vez cargado podemos conectar el módulo Bluetooth y volver conectar el cable del ordenador para que se ejecute el programa y configure el HC-06.
  •  

    Y ya por fin podéis quitar el cable del PC, volver a conectar el HC-06 y conectar el Arduino a la fuente de alimentación.

    UTILIZANDO EL BLUETOOTH CON S4A

     

    Para conectar el PC en el que ejecutamos S4A y el HC-06 accedemos a la configuración del Bluetooth de nuestro PC y ahí debería aparecernos el módulo con el nombre que le hayamos puesto. Lo seleccionamos, escribimos la contraseña que hemos elegido y esperamos a que se emparejen.

     

    emparejar hc-06 arduino

    Entonces abrimos el entorno S4A y si todo ha ido bien, tras un momento de incertidumbre, veremos cómo S4A detecta la placa. Y ya para terminar vamos a hacer un programilla para hacer parpadear el LED de la propia placa Arduino conectado internamente al pin 13 para asegurarnos de que todo esté funcionando correctamente. Veréis que S4A va un poquito más lento a la hora de seleccionar y colocar los bloques, pero nada importante.

    blinking led s4a

  • Hasta ahora hemos utilizado la alimentación que le da el propio cable que conectamos al USB del ordenador y que sirve también para la comunicación.
  • Pero como precisamente lo que queremos es no depender de ese cable necesitamos una fuente de alimentación externa.
  • Puede ser una fuente de alimentación que se conecta a un enchufe de la casa (como si fuese un cargador de móvil), una caja de alimentación para pilas o una batería, y tiene que tener toma para la alimentación externa del Arduino.
  •  

    Pues si veis que efectivamente el LED parpadea, enhorabuena, porque significa que todo ha ido bien y que tenemos todo bien configurado. Podéis volver a realizar cualquiera de las sesiones que hemos visto hasta ahora y deberían funcionar todas correctamente. A partir de ahora utilizaremos este módulo para cosas mucho más divertidas, empezando por intentar hacer un coche que podamos manejar a distancia.

     

    ¡Accede al contenido!

     

    RESUMEN DE LA SESIÓN

     

    En esta sesión hemos aprendido varias cosas importantes:
     

  • Podemos utilizar el S4A sin necesidad de cables, gracias al Bluetooth.
  • Conocemos un poco mejor cómo funciona nuestro Arduino.
  • Cómo conectar y configurar el módulo HC-06 para que pueda comunicarse con S4A.
  • Hemos realizado un programa y comprobado que S4A lo está ejecutando sin cables de por medio.
  • Deja una respuesta