May 30 2012

Como configurar o Módulo Bluetooth BTM5 com Arduino

Nesse artigo será mostrado como configurar o módulo Bluetooth com comandos AT.

Introdução

O Bluetooh é uma tecnologia que permite uma comunicação simples e rápida entre equipamentos por ondas de rádio de baixo alcance. A idéia do Bluetooth começou a surgir no ano de 1994 onde a empresa Ericsson percebeu a necessidade de criar um equipamente de comunicação entre dispositivos em baixa distância que eliminasse cabos de conexão em tranferências simples de arquivos e de dados. Nos anos seguintes essa tecnologia foi se popularizando no mundo e hoje em dia podemos ver o Bluetooth em muitos equipamentos do nosso cotidiano.

Para computadores ou notebooks que não possuem essa tecnologia de fábrica, é possivel usar um adaptador bluetooth para USB (também conhecido como dongle bluetooth).

O bluetooth foi projetado para funcionar em todos os países e por isso foi necessaria a utilização de uma frequência de rádio aberta, que no caso é a de 2,45GHz

Adaptador Bluetooth para USB

Existem três classes de equipamentos, sendo que essas classes definem o alcance maximo de cada dispositivo.

Classe 1: Alcance de até 100 metros.
Classe 2: Alcance de até 10 metros.
Classe 3: Alcance de até 1 metro.

 

Redes Bluetooth

Quando dois ou mais dispositivos Bluetooth se comunicam através de uma conexão eles formam uma rede chamada de Piconet. Cada Piconet pode ter no maximo 8 elementos, sendo um MASTER e outros 7 SLAVES. O dispositivo master é o responsavel pelo sincronismo e pela procura dos dispositivos e também pelo controle das tranmissões de dados. Ja os dispositivos slaves são mais simples, pois eles são apenas procurados pelo master que esta fazendo a solicitação de pareamento.

É possivel ligar mais de 8 dispositivos em uma rede Bluetooth e essa técnica é dada pela sobreposição de dois ou mais Piconets. O nome dado a essa nova rede é Scatternet. Um dispositivo slave pode fazer parte de mais de um piconet simultaneamente, isso ja não é possivel para um dispositivo master, que é o controlador do piconet.

Projeto

Para execução desse projeto foi utilizado:

 

O módulo vem com configurações pré-estabelicidas de fábrica, como velocidade de comunicação, nome do dispositivo, senha de pareamento, e etc. que podem ser alteradas via comandos AT por meio de comunicação serial com o computador. Obs. Importante: Essa configuração NÃO é possivel via comunicação Bluetooth. Deve ser feita necessariamente por meio de cabos de conexão (fisicamente). Nesse projeto, para fazer a conexão serial entre o computador e o módulo bluetooth , será utilizado o próprio Arduino como conversor USB-TTL.

 

Os comandos AT de configuração, ao serem enviados devem ser seguidos obrigatoriamente por um <CR> (Carrige Return) e um <LF> (Line Feed). Todos esses comandos ao serem recebidos com sucesso pelo módulo, são respondidos com uma mensagem de confirmação “OK”. Segue abaixo uma tabela com os comandos e suas funções:

O módulo que esta sendo apresentado aqui, trabalha com nível de tensão de 3.3 Volts, e ai começa um impasse  pois as saidas lógicas do arduino operam com 5 volts, o que irá danificar o módulo se a saída do Arduino for ligada diretamente.

Para contornar esse problema, podemos montar um divisor de tensão para converter as saídas lógicas de 5 Volts para 3.3 Volts.

Um divisor de tensão nada mais é que um circuito simples que tem como função criar uma tensão proporcional a outra. O circuito a seguir mostra um divisor de tensão:

Os resistores são ligados em serie, e de acordo com os seus valores, podemos regular a tensão de saída. Abaixo a fórmula utilizada para se calcular a saída.

Para enviar os comandos AT, é necessario colocar o módulo em estado de configuração. Para isso basta alimentar o módulo com o botão onboard pressionado ou enviando um bit alto (3.3V) para o pino MODE. Usaremos o FTDI do próprio arduino duemilanove como conversor USB-TTL para fazer a comunicação serial com o módulo.

Para utilizar o FTDI do Arduino é necessario retirar o microntrolador da placa. Como o TX do Arduino é o RX do FTDI e o RX do Arduino é o TX do FTDI, consequentemente, deverá ser ligado: TX/TX e RX/RX. Segue abaixo uma imagem para deixar mais claro esse raciocinio (essa imagem ja contém o divisor de tensão).

Sera mostrado abaixo uma sequência de passos para conectar o módulo bluetooth com o computador. Aqui será utilizado um adaptador Bluetooth da Shark.

Os passos a seguir foram executados em um sistema operacional Windows 7.

Abra o painel Bluetooth que esta no TrayIcon após a instalação do driver pelo proprio Windows 7

Clique em Adicionar Dispositivos.

Selecione o módulo Bluetooth e clique em proximo.

Clique em Entrar código de pareamato do dispositivo.

Coloque o código de pareamento que foi configurado pelos comandos AT (o padrão de fábrica é 1234. Dependendo do seu módulo também pode ser 0000 ou 1111).

Se tudo estiver OK, aparecerá a seguinte tela:

Para enviar os comandos AT, pode-se usar qualquer programa de terminal serial (hyperterminal do Windows por exemplo). Abaixo tem o resultado da execução de alguns comando AT e suas respectivas respostas. A velocidade padrão de fábrica de comunicação é de 115200 ou 38400 dependendo do modelo. Caso seu módulo bluetooth não responda, tente outras velocidades.

Abraço,

Allan Romanato