Modulo de bluetooth BTM400_6B
Hay un montón de módulos disponibles que presentan una interfaz UART a una conexión Bluetooth. Aunque la mayoría que podemos encontrar en el mercado, son extremadamente caros o encarecerían nuestro producto a la hora del diseño.
Una opción muy interesante que permite tener bluetooth en nuestro proyecto y de una manera muy económica, es irse a EBAY y adquirir un modulo bluetooth a puerto serie de la marca EGOCHINA.
Realmente son baratos (menos de 5€) en eBay. Todas ellos se basan en el chipset BlueCore4 y comparten un diseño de PCB. Sin embargo, el firmware es muy dispar entre los proveedores. Algunos tienen un firmware con errores, algunos no almacenan los detalles de configuración de una manera permanente, algunos ni siquiera te permitirán cambiar el nombre del dispositivo o la velocidad de transferencia. Físicamente, los módulos tienen USB y de audio I / O, pero dependiendo del firmware que tengan es posible que estas funciones sean inútiles.
Mi apuesta al comprar en eBay, en particular es un poco mejor que esto. Es un modulo con bluetooth a puerto serie y con un maximo de transferencia de 1382400 baudios. No esta mal. Esta característica tuve tiempo de probarla y demostró ser cierta. Al igual que la distancia máxima de alcance de un portátil al modulo era de unos 11 metros.
El Pineado
El modulo empieza a funcionar en cuanto le alimentamos a 3,3 V de alimentación. Las conexiones básicas se enumeran en la hoja de datos y a continuacion.
Pin / Función
1 / UART TX (fuera del módulo de datos)
2 / UART RX (datos en el módulo)
12 / 3.3V de suministro
13, 21, 22 / GND
32 / PIO9 LED de salida ‘Conectado’
34 / PIO11 (Comando / nData)
Comandos AT
Los valores por defecto de la interfaz UART a 38400 8bits.
AT+ RESET Reset del modulo apaga comunicaciones y lo deja a la espera.
AT + ORGL (reset de fábrica, mi módulo tenía alguna configuración extraña)
AT+ROLE = 0 (Establecer como esclavo)
AT+ROLE = 1 (Establecer como Maestro, habilita la busqueda de otros bluetooth)
AT + NOMBRE = MattBT (Establecer el nombre visto en el descubrimiento)
AT + PSWD = 1234 (Ajuste el emparejamiento PIN)
AT + VERSION? (Devuelve “+ VERSIÓN: 1.0-20090818″ en mi módulo)
AT + INQ Empieza a buscar y muestra los dispositivos bluetooth a su alcance.
Después de los comandos anteriores, todo era bueno, incluso el modulo almacenaba los datos y los guardaba, como el nombre del dispositivo el tipo etc… Lo que paso fue que tenia que tener en cuenta que para que funcionase bien en futuros diseños tenia que conectar al microcontrolador la patilla PIO11 para entrar en el modo de control o el comodo comandos. Los comandos solo se pueden utilizar en este modulo cuando PIO11 esta a nivel alto.
En el modo de “datos” (PIO11 a nivel bajo o masa), la UART se interconecta a la conexión serie directa. El modulo se vuelve transparente y en el PC vemos que se comporta transmitiendo los datos y recibiendo perfectamente.
CONCLUSIONES
Conectar PIO11 a una patilla del microcontrolador para poder cambiar entre el control del modulo (modo comandos) y el modo de transmision recepcion.
Conecta PIO9 al microcontrolador, este muestra si hay conexion con otro modulo al estar en nivel alto. Si cae a nivel bajo, el microcontrolador con tu programa, debe pasar a modo comando (PIO11 a nivel alto) y intentar conectar de nuevo con el otro modulo o el bluetooth.
Si deseas desconectar del otro extremo durante una conexion, pon a nivel alto PIO11. En el modo de comandos, el módulo desconecta después de unos segundos. De todas maneras, puedes desconectar de manera mas rapida usando el comando AT + DISCO.
Otra cosa a tener en cuenta, si utilizas el modo comando en medio de una transmision, pueden llegarte datos entre mezclados con los comandos. En este caso te recomiendo que actives el modo comando (PIO11 a nivel alto) y luego antes de hacer nada esperes a que PIO9 cambie de estado, esto te dara opcion a evitar que se te mezclen los datos.
Otros
ENLACES:







