Você está na página 1de 10

Era uma vez, uma estudante chamada Maria que havia ganhado um fone de

ouvido Bluetooth de aniversário. Ela estava emocionada para testá-lo, mas queria
entender como ele funcionava. Ela se perguntou: "Como esse pequeno dispositivo
consegue se conectar ao meu telefone sem fio?"
O primeiro passo, ela aprendeu, era o estabelecimento de conexão, conhecido
como pareamento. Seu telefone e o fone de ouvido trocaram informações através de
um processo chamado descoberta e solicitação de pareamento. Maria inseriu um
código de acesso para autenticar a conexão, normalmente 0000 ou 1234. Em
seguida, os dispositivos trocaram chaves de criptografia para garantir a segurança
dos dados.

Uma vez pareados, Maria notou que a música tocava sem problemas, mesmo
quando ela se movia pela casa e com vários outros dispositivos sem fio
funcionando ao mesmo tempo, como o roteador e a Alexa. "Como isso é possível?
Como o Bluetooth não se confunde?", ela se perguntou. O segredo, ela aprendeu,
estava no Método de Salto em Frequência de Espalhamento Espectral (FHSS). O
Bluetooth dividia a banda de frequência em 79 canais e saltava entre eles várias
vezes por segundo. Isso permitia que a transmissão fosse contínua e livre de
interferências, mesmo quando Maria se movia pelo ambiente e com muitos
dispositivos wireless funcionando.
Os 79 Canais de transmissão do Bluetooth. Em vermelho são os canais para
descoberta de novos dispositivos, em azul, os canais de transmissão de dados.
Fonte: Tosi, J.; Taffoni, F.; Santacatterina, M.; Sannino, R.; Formica, D. Performance
Evaluation of Bluetooth Low Energy: A Systematic Review. Sensors 2017, 17, 2898.
https://doi.org/10.3390/s17122898

Porém, nem tudo estava claro e uma nova dúvida pairava sobre Maria. “Como
o bluetooth sabe quais dos 79 canais ele deve utilizar?” Para responder a essa
pergunta, Maria fez uma nova pesquisa e descobriu que os dispositivos enviam
dados de controle em cada um dos 79 canais para verificar quanto tempo leva para
transmitir neles, os canais que possuem melhor tempo de transmissão são os
selecionados para enviar os pacotes. Os canais com maior tempo de transmissão
são aqueles que possivelemente estão sendo utilizados por outros dispositivos.
Esses não são selecionados e ficam para uma próxima vez.

Mas e quando algo dava errado? Maria aprendeu que o Bluetooth tinha várias
maneiras de lidar com isso. Se ocorresse um erro durante a transmissão, o receptor
poderia detectá-lo e solicitar a retransmissão do pacote de dados. Além disso, se
um canal estivesse congestionado, o dispositivo Bluetooth poderia detectá-lo e
ajustar seu algoritmo de salto de frequência para evitar esse canal.
Interferência e indução de ruído em dispositivos Wireless. Fonte
(https://www.murata.com/)

Então, eis que uma ideia surgiu na mente de Maria: “Quando eu recebo um
email com algumas palavras erradas, ainda assim eu consigo entender a
mensagem. Por que o Bluetooth não pode fazer o mesmo?” Na verdade, Maria, você
está corretíssima, o Bluetooth também possui essa inteligência! Ele é capaz de
corrigir alguns erros no receptor dos dados com a técnica de código de paridade 1 /
3( 1 para 3 bits). Aqui, cada bit de dados é triplicado. Por exemplo, se o bit de dados
for '1', ele será transmitido como '111'. Se o bit de dados for '0', ele será transmitido
como '000'. Se um conjunto de três bits chega com valor 101, o bluetooth sabe que
algum bit foi trocado. Desse modo, como possuem dois bits com valor “1” e apenas
um com valor “0”, O bit 1 vence e o receptor troca o bit 0 para 1. Essa técnica de
correção é conhecida como Voto Majoritário, onde, o bit em maior número vence.
Esperto ele neh?

Finalmente, Maria se perguntou: "Como meu telefone sabe que está se


conectando ao fone de ouvido certo?" A resposta estava no endereço MAC, ou
BD_ADDR no caso do Bluetooth. Cada dispositivo Bluetooth tinha um identificador
único de 48 bits. Esse endereço, que incluía um número de identificação da empresa
e um número exclusivo atribuído pelo fabricante, garantia que seu telefone se
conectasse ao fone de ouvido correto.
Figura. Vários dispositivos bluetooth são diferenciados por seus endereços “MAC”
de 48 Bits. Fonte: Pixabay Image por JuralMin

No final de sua investigação, Maria se sentiu impressionada. "É incrível como


tudo isso acontece sem que eu perceba!", ela pensou. E, com uma melhor
compreensão de como seu fone de ouvido Bluetooth funcionava, ela conseguiu
apreciar ainda mais sua música.

Conectando um Arduino via Bluetooth

Vamos começar com um tutorial passo-a-passo sobre como conectar e usar


um módulo Bluetooth (por exemplo, o módulo HC-05) com um Arduino Mega.

Materiais Necessários:
1. Arduino Mega
2. Módulo Bluetooth HC-05
3. Jumpers

Esquema de Conexão:
1. Conecte o pino RX do HC-05 ao pino TX1 (Digital 18) do Arduino Mega.
2. Conecte o pino TX do HC-05 ao pino RX1 (Digital 19) do Arduino Mega.
3. Conecte o pino GND do HC-05 ao pino GND do Arduino Mega.
4. Conecte o pino VCC do HC-05 ao pino 5V do Arduino Mega.

Nota: RX significa receptor e TX significa transmissor. Certifique-se de conectar o TX


do módulo Bluetooth ao RX do Arduino e vice-versa.

Código de Exemplo:

Aqui está um código simples que recebe dados do módulo Bluetooth e os


imprime no Monitor Serial:

```cpp
void setup() {
// Inicie a comunicação serial a 9600 bps
Serial.begin(9600);
// Inicie a comunicação serial no pino RX1 e TX1 a 9600 bps
Serial1.begin(9600);
}

void loop() {
// Verifique se há dados disponíveis para leitura
if (Serial1.available()) {
// Leia os dados recebidos e os envie para o Monitor Serial
char c = Serial1.read();
Serial.print(c);
}
}
```
Para enviar dados, você pode simplesmente usar `Serial1.write(dados)` onde
"dados" é a informação que você deseja enviar.

Testando a Comunicação Bluetooth:

1. Faça o upload do código acima para o seu Arduino Mega.


2. Abra o Monitor Serial no IDE do Arduino.
3. Conecte o seu dispositivo Bluetooth (por exemplo, um smartphone) ao
módulo HC-05.
4. Use um aplicativo Bluetooth no seu smartphone para enviar dados ao
módulo HC-05.
5. Você deverá ver os dados recebidos impressos no Monitor Serial.

Por fim, lembre-se de que, embora este exemplo use um Arduino Mega e um
módulo HC-05, os princípios básicos devem ser aplicáveis a outras placas Arduino e
módulos Bluetooth. Certifique-se sempre de verificar as especificações do seu
hardware específico antes de iniciar.
Para parear o módulo Bluetooth HC-05 com um dispositivo Android e testar a
comunicação, você pode seguir as seguintes etapas:

1. Habilitar o Bluetooth no dispositivo Android:


Acesse as configurações do seu dispositivo Android e ative o Bluetooth.

2. Pesquisa de Dispositivos:
Selecione a opção para pesquisar novos dispositivos. O seu dispositivo
Android deve começar a procurar dispositivos Bluetooth próximos.

3. Encontrar o módulo HC-05:


Na lista de dispositivos disponíveis, procure pelo módulo HC-05. Ele
geralmente aparecerá como "HC-05" na lista, a menos que você tenha alterado o
nome usando comandos AT.

4. Pareamento:
Toque no nome do módulo HC-05 na lista para iniciar o processo de
pareamento. O dispositivo Android irá pedir a você uma senha. A senha padrão para
o módulo HC-05 é geralmente "1234" ou "0000", a menos que você tenha alterado
isso também.

5. Verificação do Pareamento:
Uma vez que o pareamento seja bem sucedido, o módulo HC-05 deve
aparecer como um dispositivo pareado no seu dispositivo Android.

6. Teste de Comunicação:
Para testar a comunicação, você precisará de um aplicativo que permita
enviar e receber mensagens via Bluetooth. Há muitos aplicativos gratuitos
disponíveis na Play Store para isso, como o "Bluetooth Terminal" ou "Bluetooth
Electronics". Depois de instalar e abrir o aplicativo, você pode selecionar o módulo
HC-05 como o dispositivo para se conectar.
7. Enviar e Receber Mensagens:
Uma vez conectado, você pode usar o aplicativo para enviar mensagens para
o Arduino via Bluetooth. Da mesma forma, você também pode enviar dados do
Arduino para o dispositivo Android. Por exemplo, se você digitar uma mensagem no
Monitor Serial do Arduino e enviar, a mensagem deve aparecer no aplicativo no seu
dispositivo Android.

Lembre-se de que a eficácia desse teste depende da correta configuração e


programação do Arduino e do módulo HC-05, bem como da escolha do aplicativo
Android. Se você encontrar problemas, certifique-se de verificar todas as conexões e
configurações, e experimente com diferentes aplicativos se necessário.

Você também pode gostar