Menu
Blog Smart Kits
  • Home
  • Arduino
  • ESP32
  • IoT
  • Raspberry Pi
  • Loja Virtual
Blog Smart Kits

Módulo Bluetooth AT-09 com Arduino

Início » Módulo Bluetooth AT-09 com Arduino

Posted on 07/07/202008/07/2020

Introdução

Quando pensamos em conectar nossos projetos Arduino sem fio com o celular, por exemplo controlar um robô móvel, a primeira coisa que pensamos é em usar Bluetooth. Existem alguns módulos bem famosos como HC-05/06 que são usados para fazer esse tipo de conexão. Porém com a evolução do padrão Bluetooth outros módulos foram sendo lançados como por exemplo a AT-09 que é um módulo que já trabalha com Bluetooth versão 4.0 e BLE com praticamente o mesmo preço dos seu antecessores. Nesse post vamos conhecer alguns detalhes do módulo AT-09 e fazer alguns experimentos com ele.

Recursos do AT-09

O módulo AT-09 é um módulo Bluetooth com interface UART/Serial semelhante aos populares HC-05/06 mas que tem como diferencial o fato de usar um SoC System Texas Instruments CC2540 ou CC2541 BLE  4.0 (Bluetooth-Low-Energy). O Bluetooth BLE e o Bluetooth clássico geralmente são utilizadas para finalidades bem diferentes. O BLE é utilizado em casos onde a troca de dados é baixa, dessa forma o módulo pode constantemente entrar em modo IDLE (Sleep) economizando energia.

Figura 1: Modulo AT-09.

Na imagem abaixo temos um pequeno comparativo entre os módulos HC-05/06 e o AT-09.

Figura 2: Comparativo entre os módulos Bluetooth.

Note que tanto HC-05/06 quanto o AT-09 podem trabalhar nos modos Slave ou Master mas os dois tipos de módulos não conseguem se conectar entre si. Os módulos HC-05/06 suportam autenticação através de um PIN, mas alguns modelos baseados no HM-10, como é o caso do AT-09, não suportam essa função.

Configuração do módulo 

Nesse primeiro momento vamos configurar um nome familiar para reconhecermos nosso módulo quando fizermos a busca de dispositivos Bluetooth. Neste post usei o Arduino Nano mas você pode usar em qualquer placa Arduino.

Componentes Necessários

  • 1x Placa Arduino Nano;
  • 1x Módulo Bluetooth AT-09;
  • 1x Protoboard;
  • 1x Resistor de 1k;
  • 1x Resistor de 2k2;
  • Fios Jumper.

Montando o Projeto

A montagem deste projeto, pode ser feita seguindo a ordem dos fios mostrada na imagem abaixo.

Figura 3: Montagem do circuito.

Na montagem cabem algumas observações. 

Note que a montagem tem o pino de reset curto-circuitado com o ground, isso é feito para que utilizemos somente o módulo de interface usb-serial presente na placa para trocar mensagens com o módulo bluetooth.

O módulo AT-09 pode ser alimentado com tensões de 3.6 – 6V, mas os pinos de comunicação funcionam com nível de 3.3V não tolerante a 5V, então usamos um divisor resistivo no pino RX do módulo para que não receba 5V do Arduino.

Conectando o Arduino no Computador 

Conecte o Arduino ao computador e abra a Arduino IDE e depois o Monitor Serial. Certifique-se que as opções NL e CR estão selecionadas.

Figura 4: Serial Monitor.

Envie o comando at para checar a conexão com o módulo. Se ele estiver conectado corretamente e não estiver trocando dados com nenhum outro dispositivo Bluetooth ele deve retornar uma resposta “OK”.

Para saber ou alterar o nome do módulo use o comando digite at+name.(Obs: Ao trocar o nome não é necessário usar espaço depois do comando).

                   

Figura 5: Alterando o nome do módulo.

Verifique se o seu módulo está em modo Slave ou Master utilizando o comando at+role. Será retornado um valor 0 se o módulo estiver em modo Slave e 1 para Master. Para trocar de modo use o comando acompanhado do modo. Ex at+role1 para modo Master. 

Figura 6: Obtendo o status do modo de operação.

Opcionalmente você poderá redefinir o módulo para configurações de fábrica com os comandos at+default e at+renew.

Experimento – Troca de dados com Smartphone 

Nesse exemplo vamos fazer algumas trocas de dados entre o Arduino e um celular. O Arduino irá enviar retorno da função millis() e poderá receber um comando para controlar o Led conectado ao pino 13. Vale a pena destacar que o módulo deve está configurado para o modo Slave.

Componentes Necessários

  • 1x Placa Arduino Nano;
  • 1x Módulo Bluetooth AT-09;
  • 1x Protoboard;
  • 1x Resistor de 1k;
  • 1x Resistor de 2k2;
  • Fios Jumper.

Montando o Projeto

A montagem deste projeto, pode ser feita seguindo a ordem dos fios mostrada na imagem abaixo.

Figura 7: Montagem do circuito.

Programando

Segue abaixo o código para esse exemplo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#define LED_PIN 13 //Pino conectado ao led integrado.
#include "SoftwareSerial.h"
 
SoftwareSerial bluetooth(2, 3);// TX, RX (Bluetooth).
void setup() {
  bluetooth.begin(9600);
  pinMode(LED_PIN, OUTPUT);
}
void loop() {
 
  if (bluetooth.available() > 0) {//Verifique se há novos bytes oriundos do bluetooth.
    byte dado = bluetooth.read();
    if (dado == '1') {//Ative o led se a mensagem for um caracter '1'.
      digitalWrite(LED_PIN, HIGH);
    }
    if (dado == '0') {//Desative o led se a mensagem for um caracter '1'.
      digitalWrite(LED_PIN, LOW);
    }
  }
 
  bluetooth.println(millis());//Envie o retorno da funçao millis().
  delay(1000);
}

Colocando para Funcionar

Nesse Post faremos os testes utilizando um celular Android e o aplicativo BLE Scanner da Bluepixel Technologies. 

Figura 8: BLE Scanner.

Tendo o aplicativo instalado e aberto e o Bluetooth do seu celular ativado, procure o dispositivo pelo nome que você escolheu no tópico anterior ou MLT-BT05. Neste caso o nome do meu dispositivo é “MeuDispositivoBLE”.

Figura 9: Lista de dispositivos BLE detectados.

Clique em custom service e ative as notificações. Observe que o campo value é alimentado com dados recebidos do Arduino via Bluetooth.

Figura 10: Recebendo dados via Bluetooth.

Pressione write value para enviar uma mensagem para o Arduino. No código usamos caracter ‘1’ para ativar e ‘0’ desativar o led.

Figura 11: Enviado comandos via Bluetooth.

Bom por hoje é tudo, aguardo você no próximo post. Qualquer dúvida ou sugestão deixe registrado no campo de comentários. Se interessou pelo módulo AT-09? Visite o site da loja e adquira o seu módulo AT-09 hoje mesmo.

Yure Albuquerque

Graduando em Tecnologia Mecatrônica Industrial. Tenho experiência com Arduino e Raspberry Pi. Atualmente experimentando novas tecnologias como ESP32 e compartilhando no blog da Smart Kits.

See author's posts

Twittar
Compartilhar
Pin
Compartilhar

2 comentários em “Módulo Bluetooth AT-09 com Arduino”

  1. Rafael disse:
    05/04/2021 às 14:03

    Opa. Bom artigo.
    Só uma dúvida, esse módulo não pede PIN para conectar?

    Responder
    1. Yure Albuquerque disse:
      06/04/2021 às 14:40

      Olá Rafael!
      O modulo AT-09 possui um set de instruções limitado e não tem suporte de código PIN.
      Abraço.

      Responder

Deixe uma resposta Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Postagens recentes

  • Como duplicar a Raspberry Pi
  • Blynk – Medição de temperatura com DS18B20
  • ESP8266 – Cadastro RFID (MFRC522) com webserver
  • ESP8266/32 – Programação sem fio (OTA)
  • Primeiros passos com o Arduino Mega WiFi

Comentários

  • Yure Albuquerque em Módulo Bluetooth AT-09 com Arduino
  • Yure Albuquerque em ESP8266 – Cadastro RFID (MFRC522) com webserver
  • Luciano em ESP8266 – Cadastro RFID (MFRC522) com webserver
  • Luciano em ESP8266 – Cadastro RFID (MFRC522) com webserver
  • Rafael em Módulo Bluetooth AT-09 com Arduino

Categorias

  • Arduino
  • Embarcados
  • ESP32
  • ESP8266
  • IoT
  • Raspberry Pi

Quem somos

A Smart Kits é uma loja virtual que atua no comércio de componentes eletrônicos, com foco na venda de Arduinos, módulos Shields arduinos, sensores eletrônicos, componentes para automação e robótica. Temos uma grande variedade de componentes e excelentes preços.

Acesse nossa loja

Redes Sociais

Todos os direitos reservados à Blog Smart Kits ©2021 | CNPJ: 20.228.852/0001-48