Crea, comparte, aprende y disfruta
Comunicación Bluetooth con Pingüino
La comunicación inalámbrica puede ser un gran aliado en nuestros proyectos, imagina las posibilidades que puede aportarte controlar un sistema domotico, un robot, o cualquier cosa que se te ocurra directamente desde tu teléfono móvil o tablet.
En este tutorial vamos a utilizar el módulo bluetooth HC-06. Estos módulos son muy económicos y fáciles de encontrar, especialmente en tiendas on-line. El proceso será el mismo si queremos usar otros módulos Bluetooth, cómo el HC-05, pero tendremos que estar atentos al patillaje, ya que cambia ligeramente.
El módulo HC-06 cuenta con todo lo necesario para funcionar, pero trabaja a 3.3V. Cómo nuestro Pingüino trabaja a 5V lo primero que tendremos que hacer es proteger nuestro HC-06 del exceso de voltaje. Hay varias formas de hacer esto, nosotros utilizaremos un regulador MCP1700 de microchip (cualquier otro regulador a 3.3V nos funcionaría igual.) para la alimentación y resistencias de 2k7 para las señales que enviemos desde el Pingüino al módulo.
Cómo vemos, el circuito únicamente tiene lo necesario para alimentar al modulo Bluetooth, el resto se realiza sencillamente uniendo las lineas RX y TX del HC-06 y el Pingüino. Estas deberán ir cruzadas (la linea TX de Pingüino se une a la RX del módulo usando una resistencia en serie, y el RX de pingüino se une al TX del módulo.)
El módulo viene con una configuración por defecto que necesitamos conocer para poder comunicarnos con él, si estas usando un HC-06 cómo nosotros esta es la configuración por defecto que trae de fabrica:
- Nombre: linvor
- Password: 1234
- velocidad: 9600
- Sin Pariedad
- bits: 8
- bit de parada: 1
Antes de poder comunicarnos con nuestro Pingüino por Bluetooth necesitamos que el Bluetooth y Pingüino se comuniquen entre ellos, así que vamos a configurar algunas cosas:
Lo primero será la velocidad de conexión, cómo ya hemos dicho el módulo tiene una velocidad por defecto de 9600 baudios, podríamos cambiar esto más adelante, pero de momento esta velocidad nos vale así que le diremos a Pinguino que su comunicación serial funcionará a 9600 baudios (serial.begin(9600);) a partir de aquí podemos comenzar a configurar nuestra conexión a nuestro gusto.
La configuración se realiza mediante comandos AT, estos comandos se caracterizan por empezar siempre con AT+ y el comando que queremos mandar. Si todo va bien el módulo contestará siempre con «OKcomandoEnviado.
Cambiando el nombre del bluetooth
Lo primero que cambiaremos será el nombre de nuestro Bluetooth, podemos usar el que nosotros queramos, en el ejemplo lo llamaremos pingüino. Lo unico que tendemos que hacer es enviar el comando: AT+NAMEpinguino. El módulo nos contestará con un OKpinguino
Velocidad de conexión
Puede que nos interese cambiar la velocidad transmisión, esto se haría con el comando AT+BAUDx la x es un valor del 1 al 8 que contiene la velocidad de transmisión, estos valores son:
Valor | Velocidad (Baudios) |
---|---|
1 | 1200 |
2 | 2400 |
3 | 4800 |
4 | 9600 |
5 | 19200 |
6 | 38400 |
7 | 57600 |
8 | 115200 |
Pin
También podemos cambiar el pin que usaremos para enlazar el bluetooth al dispositivo con el que queramos controlarlo, el comando AT para esto es AT+PINxxxx, donde las x representan el pin que queremos usar, por ejemplo para cambiar el pin a 4321 usaríamos AT+PIN4321. Cómo siempre el módulo nos contestará OK4321
Vamos a crear un programa para Pingüino que realice, de forma automática, toda esta configuración cada vez que se encienda, sería así:
1 2 3 4 5 6 7 8 9 10 11 | void setup() { Serial.begin(9600); Serial.print("AT+NAMEpinguino"); delay(1000); Serial.print("AT+PIN4321"); delay(1000); Serial.print("AT+BAUD4"); } void loop() { } |
Cuando Pingüino arranque ejecutará ese código y tendremos un adaptador Bluetooth llamado pingüino, que funciona una velocidad de 9600 baudios y que tendrá el pin 4321.
Ahora tendremos que probarlo, podemos usar un dispositivo móvil, cómo una tablet o un móvil, si sabemos programar para Android o IOS podemos hacer una sencilla aplicación para controlar Pingüino desde este dispositivo
Otra opción es, si nuestro ordenador cuenta con Bluetooth, utilizarlo para comunicarnos con Pingüino, vamos a ver esta opción:
hacemos clic en agregar dispositivo bluetooth, configurar nuevo dispositivo de bluetooth… o cómo lo llame nuestro sistema operativo y la traducción que tenga. Deberá encontrar nuestro bluetooth, que en el caso del ejemplo se llama Pinguino.
Lo emparejamos usando el pin que le hemos dado y decimos que queremos que lo empareje cómo un dispositivo COM para poder enviar y recibir información de él.
Para enviar y recibir datos desde el PC necesitamos un programa tipo hiperterminar, una vez lanzado seleccionamos el puerto COM correspondiente a la conexión que tenemos por Bluetooth y ya podemos empezara usarlo.
Veamos un pequeño ejemplo:
Simplemente hemos añadido un potenciómetro al circuito anterior, la idea es enviar la lectura del potenciómetro por bluetooth, también podríamos sustituir este potenciómetro por un sensor de temperatura, por ejemplo y tener un termómetro Bluetooth o cualquier otro tipo de sensor.
El programa para el Pingüino es este:
1 2 3 4 5 6 7 8 9 10 | void setup(){ Serial.begin(9600); } void loop() { int sensorValue = analogRead(A0); Serial.printf("@%d\r\n",sensorValue); } |
Las posibilidades que nos brinda esta sencilla pero potente conexión son enormes,telemetría para Robots, control remoto, domotica…
Deja una respuesta