Tabla de contenido:

Arduino Smartphone Coms / Monitor serial a través de Bluetooth HC-05, HC-06: 4 pasos (con imágenes)
Arduino Smartphone Coms / Monitor serial a través de Bluetooth HC-05, HC-06: 4 pasos (con imágenes)

Video: Arduino Smartphone Coms / Monitor serial a través de Bluetooth HC-05, HC-06: 4 pasos (con imágenes)

Video: Arduino Smartphone Coms / Monitor serial a través de Bluetooth HC-05, HC-06: 4 pasos (con imágenes)
Video: Arduino desde cero en Español - Capítulo 24 - Bluetooth HC-05 Introducción y comandos AT 2024, Noviembre
Anonim
Arduino Smartphone Coms / Monitor serial a través de Bluetooth HC-05, HC-06
Arduino Smartphone Coms / Monitor serial a través de Bluetooth HC-05, HC-06

Esto es increíblemente útil si desea probar su boceto en un entorno del mundo real, lejos de su PC. El resultado es que su teléfono inteligente actúa de la misma manera que el monitor serial Arduino en su PC. Los módulos Bluetooth HC-05 y HC-06 están disponibles por alrededor de £ 3 en eBay y hay muchas aplicaciones gratuitas para teléfonos inteligentes para elegir. Hay algunas trampas que, con suerte, evitará siguiendo los ejemplos aquí. La aplicación gratuita para teléfonos inteligentes utilizada aquí también puede guardar el texto recibido en un archivo para su uso posterior. No se requieren cambios en sus bocetos, ya que se utilizan los mismos pines en serie.

Lo utilicé por primera vez al probar un dispositivo que mide la distancia que dan los coches al adelantarme en mi bicicleta. Pude registrar las mediciones de distancia tomadas 30 veces por segundo en mi teléfono, donde se guardaron en un archivo. Analicé esto más tarde con un video que también grabé usando una cámara deportiva y mi aplicación de rastreo que me dio mi velocidad y ubicación.

Necesitará:

  • Tu Arduino favorito (Uno usado aquí)
  • Módulo Bluetooth HC-05 o HC-06
  • Un teléfono inteligente (aquí se usa un teléfono Android) y una aplicación Bluetooth gratuita

Pasos:

  • Instalar la aplicación Bluetooth gratuita
  • Configurar el módulo Bluetooth
  • Conecte Bluetooth a Arduino
  • Cargar boceto de ejemplo
  • Sistema de prueba

Paso 1: Instale la aplicación Bluetooth

Hay muchas aplicaciones de Bluetooth disponibles y muchas son gratuitas. Utilizo teléfonos Android, pero espero que ocurra lo mismo con los otros sistemas. Decidí usar BlueTerm 2 ya que también brinda la opción de registrar los datos recibidos en el archivo. También lo encontré muy sencillo de usar. Así que vaya a Google Play y solicite la descarga de BlueTerm 2.

Cuando tenga la aplicación instalada, puede conectarse a dispositivos Bluetooth. Tenga en cuenta que el dispositivo Bluetooth primero debe emparejarse con el teléfono antes de poder usarlo en cualquier aplicación:

Encender BlueTooth: voy a través de Configuración> Bluetooth.

El teléfono mostrará una lista de los dispositivos ya emparejados y, después de unos segundos, mostrará los dispositivos disponibles. El nombre puede mostrarse inicialmente como un conjunto de números en lugar del nombre del dispositivo. Sin embargo, al seleccionarlo, se muestra el nombre y se solicita el PIN, que suele ser 1234.

Ahora inicie BlueTerm 2. Haga clic en configuración, luego haga clic en Conectar dispositivo y seleccione según sea necesario. Puede simplemente encender un módulo HC-05 / HC-06 en esta etapa y verificar el proceso de emparejamiento si lo desea (conecte el suministro negativo a tierra y 5v a Vcc).

Imagen
Imagen

Paso 2: Configurar el módulo Bluetooth - Parte 1 - Conexiones y HC-06

Si está contento de utilizar el nombre y la velocidad en baudios predeterminados, puede omitir este paso. Los valores predeterminados son el nombre: HC-05 o HC-06 y baudios: 9600. El beneficio de reconfigurar el módulo es que se pueden seleccionar velocidades de transmisión más rápidas y se puede establecer un nombre más fácil de reconocer.

La configuración necesita que los comandos se envíen desde una PC al módulo a través de una conexión en serie. Un enlace serial USB FDTI es ideal, especialmente si tiene una opción de 3.3v. Sin embargo, las placas Arduino tienen un convertidor de USB a serie y, por lo tanto, esto también se puede usar y este es el método que se muestra aquí. Para hacer esto, es mejor deshabilitar el puerto serie del procesador principal Arduino para que podamos comunicarnos entre la PC y el módulo Bluetooth sin interferencias.

El boceto para deshabilitar la serie Arduino simplemente tiene las instrucciones:

pinMode (0, ENTRADA):

pinMode (1, ENTRADA);

en la sección de configuración {}.

He adjuntado el boceto NoSerial.ino. Cree una carpeta llamada "NoSerial" en su carpeta de bocetos y agregue NoSerial.ino a esto. Inicie el IDE de Arduino, vaya a Archivo> Cuaderno de bocetos> bocetos> NoSerial para abrir el boceto. Seleccione el tipo de placa y el puerto en el menú Herramientas y haga clic en el botón de descarga.

Conexión para configuración

Con el boceto cargado, ahora podemos conectar el módulo Bluetooth a la placa Arduino. Las conexiones Tx y Rx se intercambian en comparación con lo que haremos más adelante, ya que queremos comunicarnos con el puerto de la PC para el Serial Monitor y no con el procesador principal Arduino. El PC Tx está conectado al Arduino Rx y viceversa.

Tenga en cuenta que los módulos Bluetooth tienen niveles de 3.3v para Tx y Rx. Por lo tanto, se debe usar un divisor de voltaje para la entrada Bluetooth Rx cuando se conecta a sistemas de 5v. La salida Bluetooth 3.3v Tx generalmente se detecta bien por los sistemas de 5v y, por lo tanto, se puede conectar directamente.

Descubrí que un divisor de voltaje que usa resistencias de 3k3 y 6k8 funciona hasta velocidades de transmisión en serie de 115200.

Los módulos HC05 y HC06 tienen reguladores de voltaje integrados y, por lo tanto, funcionan con Vcc conectado a 5v.

Así que conéctate:

  • Resistencia de 3k3 a D0
  • Resistencia 6k8 a tierra
  • Conecte los otros extremos de las dos resistencias juntas y al pin Rx en el módulo Bluetooth
  • Conecte el pin Tx del módulo Bluetooth a D1
  • Conecte el pin de tierra del módulo Bluetooth a GND Conecte el pin de tierra del módulo Bluetooth a GND
  • Conecte el pin Vcc del módulo Bluetooth a 5v

Vea la imagen para más detalles.

Imagen
Imagen

Para configurar el módulo, debe configurarse en modo AT. El procedimiento es diferente para los módulos HC-05 y HC-06.

HC-06

Estos son los más fáciles. Se ponen en modo AT si no están emparejados con ningún dispositivo. Sin embargo, la configuración de baudios será la que se haya establecido en la configuración de baudios de funcionamiento normal. Normalmente es 9600 cuando se suministra. Si esto no funciona, intente 38400 u otras tarifas comunes.

Conecte el cable USB de la PC a Arduino e inicie Arduino IDE. El LED de Bluetooth parpadeará rápidamente (~ 4Hz) cuando esté en modo AT.

Abra el monitor serie Arduino a través de Herramientas> Monitor serie. Establezca los baudios en 9600 y establezca "Sin final de línea".

Ahora ingrese AT y haga clic en Enviar. Si todo está funcionando, verá "OK" en el monitor. Si no sale nada, verifique el cableado y pruebe con diferentes configuraciones de baudios.

Con un OK confirmando buenas comunicaciones podemos cambiar el nombre y establecer nuestra propia tasa de baudios.

Ingrese AT + NAMEARDUINO y haga clic en enviar. Esto establece el nombre del módulo en ARDUINO. Se puede utilizar cualquier otro texto. Tenga en cuenta que no hay espacios en el comando.

La respuesta debe ser OKsetname. Esto se agrega al OK enviado anteriormente.

Ahora ingrese AT + BAUD8. Esto establece los baudios en 115200.

La respuesta debería ser OK115200. Si se van a enviar más comandos AT, la configuración de baudios del monitor en serie debe cambiarse a 115200.

Se pueden establecer otras tarifas. Baud4 es 9600, Baud5 es 19200, Baud6 38400, Baud7 57600. Hay configuraciones superiores a 115200, pero compruebe primero que su PC y Arduino pueden aceptarlas (la mía no puede superar los 128000). Nota: si establece una tasa demasiado alta, no podrá comunicarse con ella para volver a configurarla.

Imagen
Imagen

Paso 3: Configurar el módulo Bluetooth - Parte 2 - HC-05 y prueba inicial

HC-05

Estos tienen la complicación de tener que configurarse manualmente en modo AT. El manual dice que si se activa el modo AT después del encendido, la configuración de baudios continuará a la velocidad ya establecida para las comunicaciones normales. ¡No pude hacer que esto funcionara! Sin embargo, si el modo AT se establece en el encendido, el baudio se establece en 38400. Por lo tanto, esta última opción es la más confiable, ya que podemos estar seguros de que el baudio es 38400.

Abra el monitor serie Arduino a través de Herramientas> Monitor serie. Establezca los baudios en 38400 y establezca "Retorno de carro".

El siguiente paso es poner la placa en modo AT. Aquí es donde surgen la mayoría de los problemas debido a las diferencias en las placas de soporte.

El proceso fundamental es mantener el pin "Key" (pin 34) bajo unos segundos en el encendido.

Mi placa tiene un botón para hacer esto (los dos pines de conexión adicionales son EN y STATE). Desconecte el cable Vcc del módulo Bluetooth. Luego, mientras mantiene presionado el botón, vuelva a aplicar 5v a Vcc. El LED debe parpadear a intervalos de aproximadamente 2 segundos. Mantengo presionado el botón hasta el segundo destello.

Algunas placas tienen un pin de llave como uno de los 6 pines del módulo. Si es así, ate esto a 3.3v durante el encendido.

Algunas placas no tienen ninguno y los usuarios han tenido que soldar un botón entre el pin Key (34) y 3.3v (pin 12). Ver manual adjunto.

Con el LED parpadeando lentamente podemos comprobar las comunicaciones. Ingrese AT y haga clic en Enviar. La respuesta debería estar bien. Descubrí que esta respuesta se repetía continuamente hasta que envié una línea en blanco, simplemente haga clic en enviar. Si obtiene ERROR: (0), envíe una línea en blanco y luego envíe AT.

Ahora establezca un nuevo nombre. Ingrese AT + NAME = ARDUINO La respuesta debe ser correcta. Sin embargo, en mi caso, el módulo se reinicia fuera del modo AT (el LED parpadea rápidamente). No pude encontrar la causa y esto también sucedió al usar una conexión en serie FDTI en lugar de Arduino. Volví al modo AT como antes: desconectando el cable de alimentación a la placa y volviéndome a conectar mientras se presionaba el botón. Los controles posteriores mostraron que se había cambiado el nombre.

A continuación, configure los baudios. Ingrese AT + UART = 115200, 1, 0 La respuesta debería ser correcta. Sin embargo, a veces saltaba del modo AT como se indicó anteriormente.

La configuración de UART se puede verificar con el comando: AT + UART? La respuesta debe ser correcta y + UART = 115200, 1, 0

Prueba inicial

En esta etapa tenemos la PC con una conexión en serie al módulo Bluetooth. Por lo tanto, se puede realizar una prueba opcional inicial iniciando la aplicación BlueTerm 2 del teléfono inteligente (suponiendo que el módulo ya esté emparejado con el teléfono). Conéctese a ARDUINO. Configure el monitor serial Arduino en 115200 baudios. Escriba 'Hola mundo' y haga clic en enviar. Esto debería aparecer ahora en BlueTerm 2. Ahora escriba 'Hola a usted' en BlueTerm 2. Esto debería aparecer ahora en el Monitor serial.

Imagen
Imagen
Imagen
Imagen

Paso 4: conecte el módulo Bluetooth a Arduino

Primero debemos cargar nuestro boceto de prueba de Arduino. El BTtest.ino adjunto envía un número cada 0.5 segundos y luego lo incrementa, pasando a 0 desde 255. Cree una carpeta llamada BTtest en su carpeta de bocetos y agregue BTtest.ino

La conexión serie Arduino también se utiliza para descargar bocetos. Por lo tanto, los dos cables del módulo Bluetooth deben desconectarse para que no interfiera.

Después de descargar el boceto, vuelva a conectar el módulo Bluetooth. Sin embargo, tenga en cuenta que Tx y Rx en Arduino deben intercambiarse en comparación con la configuración anterior.

Así que conéctate:

  • Resistencia de 3k3 a D1
  • Resistencia 6k8 a tierra
  • Conecte los otros extremos de las dos resistencias juntas y al pin Rx en el módulo Bluetooth
  • Conecte el pin Tx del módulo Bluetooth a D0
  • Conecte el pin de tierra del módulo Bluetooth a GND Conecte el pin de tierra del módulo Bluetooth a GND
  • Conecte el pin Vcc del módulo Bluetooth a 5v

Vea la imagen para más detalles.

Imagen
Imagen

Ahora encienda el Arduino. No necesita estar conectado a una PC.

Empareje la placa con el teléfono inteligente si aún no está conectado (consulte Instalar la aplicación Bluetooth más arriba). Luego inicie BlueTerm 2, haga clic en configuración, luego haga clic en Conectar dispositivo y seleccione ARDUINO. Debería ver que la pantalla se llena con números que se incrementan de 0 a 255.

Imagen
Imagen

Espero que encuentre esto tan útil como yo.

Miguel

Desafío Bluetooth
Desafío Bluetooth
Desafío Bluetooth
Desafío Bluetooth

Subcampeón del Desafío Bluetooth

Recomendado: