Tutorial 9: Controle de dispositivos usando Bluetooth e ATtiny85 do smartphone

Tutorial 9: Controla dispositivos mediante Bluetooth y ATtiny85 desde tu smartphone

En esta serie de tutoriales, aprendimos sobre la interfaz del potenciómetro para obtener entrada analógica, la interfaz LED RGB que genera salida PWM, el control de velocidad del motor de CC usando salida PWM y algunas otras cosas.

Este tutorial explica la comunicación serial del ATtiny85 con el módulo Bluetooth HC05. ATtiny85 no tiene UART integrado ni USART con pines Rx y Tx, pero admite USI (Interfaz serie universal) configurable. La programación Arduino nos permite utilizar pines IO digitales como pines Tx y Rx usando la biblioteca SoftwareSerial. Entonces, usando esta biblioteca haremos que el pin 7 (PB2) y el pin 2 (PB3) de ATtiny85 funcionen como pines Rx y Tx. El módulo Bluetooth HC05 se comunica con ATtiny85 utilizando estos pines Tx y Rx.

La parte más interesante está por llegar. El módulo HC05 recibe comandos Bluetooth desde cualquier teléfono inteligente a través de la aplicación de Android, que envía comandos desde el Bluetooth integrado del teléfono. Entonces el teléfono inteligente envía un comando al ATtiny85 a través del módulo HC05 para controlar cualquier dispositivo. ¿Suena interesante? Veamos cómo se hace esto.

Si no ha seguido la serie desde el principio, debe leer los siguientes dos tutoriales que explican y demuestran cómo trabajar con ATtiny85 y una guía paso a paso para crear la aplicación hello world (LED parpadeante).

Cómo trabajar con ATtiny85
LED parpadeando usando ATtiny85

Diagrama de circuito

Conexiones de circuito
El circuito se construye utilizando sólo tres componentes: módulo HC05, módulo de relé y ATtiny85. El HC05 (módulo Bluetooth) tiene cuatro pines de interfaz (1) Vcc (2) GND (3) Tx y (4) Rx. El pin Tx está conectado a PB2 (pin 7) y el pin Rx está conectado a PB3 (pin 2). El pin Vcc está conectado con 5 V y el pin GND está conectado con el pin cuatro conectado a tierra. El módulo de relé tiene tres pines de interfaz (1) Vcc, (2) GND y (3) IN. El pin Vcc está conectado con 5V porque el relé es de 5V. El pin GND está conectado al pin 4 del ATtiny85. El pin PB0 está conectado al pin IN para encender/apagar el relé. Se proporciona un suministro de 5 V en el circuito.

Nota: Puede conectar cualquier dispositivo de CA (o CC) con un relé a sus terminales de contacto para que cuando el relé se encienda/apague, el dispositivo se encienda/apague.

Operación del circuito

  • Cuando se envía un suministro de 5 V al circuito, el relé está APAGADO (por lo que el dispositivo también estará APAGADO). El módulo HC05 comenzará a parpadear para indicar que está buscando otro dispositivo Bluetooth para emparejar (conectar).
  • La persona que quiera controlar el dispositivo primero abrirá la aplicación de Android que tiene la función de envío de datos por Bluetooth en su teléfono inteligente (puede obtener muchas de estas aplicaciones en Google Play Store. Busque "Control Bluetooth para Arduino"). Esta aplicación buscará y se emparejará con el módulo HC05 (para emparejar por primera vez, debe ingresar la contraseña de Bluetooth para el módulo HC05, que de forma predeterminada es 1234). Cuando el teléfono inteligente está conectado al módulo HC05, su velocidad de parpadeo será lenta
  • Ahora escribe y envía '1' desde la aplicación. El Bluetooth del teléfono enviará este '1' al módulo HC05
  • El módulo HC05 recibirá este '1' y lo entregará al ATtiny85 mediante comunicación serie
  • Cuando ATtiny85 recibe el comando 1, enciende el relé enviando alto al pin PB0. El dispositivo conectado al relé también está encendido.
  • Ahora para apagar el dispositivo (relé), la persona tiene que enviar el comando '0' desde el teléfono inteligente
  • Así, el dispositivo se enciende/apaga enviando comandos a través del teléfono inteligente.

Programa
El programa está escrito en el software Arduino IDE utilizando el lenguaje de programación C. Se compila y se crea un archivo HEX que se descarga al FLASH interno del ATtiny85.

Lógica del programa
Inicialmente, el programa envía un mensaje al teléfono inteligente del usuario informando que el teléfono Bluetooth está conectado al HC05 y envía el comando 1/0 para encender/apagar el dispositivo.

Luego espera cualquier dato disponible en el puerto serie. Si se recibe el comando '1' o '0', encenderá/apagará el relé enviando ALTO/BAJO al pin de entrada del módulo de relé. Además, envía un mensaje al smartphone del usuario informando que el dispositivo está ON/OFF.

En el próximo tutorial, aprenderemos cómo construir un registrador de datos de sensor inalámbrico.

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.