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

Nesta série de tutoriais, aprendemos sobre a interface do potenciômetro para obter entrada analógica, a interface do LED RGB gerando a saída PWM, o controle de velocidade do motor DC usando a saída PWM e algumas outras coisas.

Este tutorial explica a comunicação serial do ATtiny85 com o módulo Bluetooth HC05. ATtiny85 não possui UART ou USART integrado com pinos Rx e Tx, mas suporta USI (interface serial universal) configurável. A programação do Arduino nos permite usar pinos IO digitais como pinos Tx e Rx usando a biblioteca SoftwareSerial. Portanto, usando esta biblioteca, faremos com que o pino 7 (PB2) e o pino 2 (PB3) do ATtiny85 funcionem como pinos Rx e Tx. O módulo Bluetooth HC05 se comunica com ATtiny85 usando esses pinos Tx e Rx.

A parte mais interessante ainda está por vir. O módulo HC05 recebe comandos Bluetooth de qualquer smartphone por meio do aplicativo Android – que envia comandos do Bluetooth integrado do telefone. Assim o smartphone envia um comando ao ATtiny85 através do módulo HC05 para controlar qualquer dispositivo. Soa interessante? Vamos ver como isso é feito.

Se você não está acompanhando a série desde o início, você deve passar pelos dois tutoriais a seguir que explicam e demonstram como trabalhar com ATtiny85 e guia passo a passo para construir o aplicativo hello world (LED piscando).

Como trabalhar com ATtiny85
LED piscando usando ATtiny85

Diagrama de circuito

Conexões de circuito
O circuito é construído usando apenas três componentes: módulo HC05, módulo de relé e ATtiny85. O HC05 (módulo Bluetooth) possui quatro pinos de interface (1) Vcc (2) GND (3) Tx e (4) Rx. O pino Tx está conectado ao PB2 (pino 7) e o pino Rx está conectado ao PB3 (pino 2). O pino Vcc está conectado com 5V e o pino GND está conectado ao pino quatro conectado ao terra. O módulo de relé possui três pinos de interface (1) Vcc, (2) GND e (3) IN. O pino Vcc está conectado com 5V porque o relé é de 5V. O pino GND está conectado ao pino 4 do ATtiny85. O pino PB0 está conectado ao pino IN para ligar/desligar o relé. Uma alimentação de 5 V é fornecida no circuito.

Nota: pode-se conectar qualquer dispositivo AC (ou DC) com relé aos seus terminais de contato para que quando o relé for ligado/desligado, o dispositivo será ligado/desligado

Operação do circuito

  • Quando uma alimentação de 5 V é enviada ao circuito, o relé está DESLIGADO (portanto, o dispositivo também estará DESLIGADO). O módulo HC05 começará a piscar para indicar que está procurando outro dispositivo Bluetooth ao qual será emparelhado (conectado)
  • A pessoa que deseja controlar o dispositivo, primeiro abrirá o aplicativo Android tendo o recurso de envio de dados Bluetooth em seu smartphone (você pode obter muitos desses aplicativos na Google Play Store. Pesquise “Controle Bluetooth para Arduino”). Este aplicativo irá pesquisar e emparelhar com o módulo HC05 (para emparelhar 1st vez, é necessário inserir a senha do Bluetooth para o módulo HC05, que por padrão é 1234). Quando o smartphone for conectado ao módulo HC05, sua taxa de intermitência será lenta
  • Agora digite e envie '1' do aplicativo. O Bluetooth do telefone enviará este '1' para o módulo HC05
  • O módulo HC05 receberá este '1' e o entregará ao ATtiny85 através de comunicação serial
  • Quando ATtiny85 recebe o comando 1, ele liga o relé enviando alto para o pino PB0. O dispositivo conectado ao relé também está LIGADO
  • Agora para desligar o aparelho (relé), a pessoa tem que enviar o comando ‘0’ do smartphone
  • Assim, o aparelho é LIGADO/DESLIGADO enviando comandos através do smartphone

Programa
O programa é escrito no software Arduino IDE usando a linguagem de programação C. Ele é compilado e é criado um arquivo HEX que é baixado no FLASH interno do ATtiny85

Lógica do programa
Inicialmente, o programa envia uma mensagem para o smartphone do usuário informando que o telefone Bluetooth está conectado ao HC05 e envia o comando 1/0 para ligar/desligar o aparelho.

Em seguida, ele aguarda quaisquer dados disponíveis na porta serial. Se o comando '1' ou '0' for recebido, ele ligará/desligará o relé enviando ALTO/BAIXO para o pino de entrada do módulo de relé. Além disso, envia uma mensagem ao smartphone do usuário informando que o aparelho está LIGADO/DESLIGADO.

No próximo tutorial, aprenderemos a construir um registrador de dados de sensor sem fio.

Conteúdo Relacionado

Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.