Skip to content
SPONSORS

Expert - Bluetooth - RTOS

Nesse laboratório iremos trabalhar com:

  1. Comunicação Bluetooth serial utilizando o módulo HC-06
  2. Integração de tarefas (tasks) via FreeRTOS em Raspberry Pi Pico
  3. Troca de dados entre tasks usando filas e notificações RTOS
  4. Desenvolvimento e teste de sistemas embarcados com múltiplas portas seriais

Antes de começar o lab, rode e entenda os materiais de referência abaixo:


A ideia deste laboratório é implementar um sistema interativo de pareamento do módulo HC-06, utilizando as bases dos exemplos acima para aplicar a seguinte ordem de utilização:

  1. Apertar botão para gerar um PIN randômico
    • Um botão físico no circuito é pressionado para que o dispositivo gere um novo PIN para pareamento Bluetooth.
  2. Configuração do HC-06
    • O microcontrolador configura automaticamente o HC-06 com o novo PIN gerado usando comandos AT.
  3. Exibição do PIN no display OLED
    • O PIN atual será mostrado no display OLED.
  4. Pareamento via PC
    • O usuário deve parear o computador ao HC-06 utilizando o PIN mostrado na tela do display.

Funcionalidades adicionais:

  • O status de conexão Bluetooth deve ser indicado por um LED controlado por PWM:
    • Enquanto aguardando conexão: LED pisca (fade in/out)
    • Quando conectado: LED permanece aceso

Entrega

entrega_EXPERT-BT

Você deverá integrar a aplicação desenvolvida neste laboratório ao projeto do Lab 6. ADC e PWM, criando assim um mouse wireless (com iluminação RGB) utilizando Bluetooth.

O projeto final deverá obrigatoriamente possuir:

  • O sistema de sincronização Bluetooth desenvolvido neste laboratório

    • Geração do PIN randômico através do botão, exibindo no display OLED
    • O computador deverá parear com o módulo hc-06 através do PIN gerado
  • Um programa em Python rodando no computador, responsável por:

    • Receber os dados enviados pela Pico e converter em movimento do mouse
    • Enviar dados de configuração do LED RGB, alterando os padrões para as cores Vermelho, Verde ou Azul, como por exemplo:
      • Botões + / - para aumentar e diminuir o brilho de cada cor
      • Sliders em que seja possível controlar a frequência de piscada de cada cor

Dicas

  • Geração do PIN randômico

    • Utilize funções de geração de números aleatórios como utilizado na APS - 1 - Genius
    • Certifique-se de atualizar o PIN apenas quando o botão for pressionado, evitando acionamentos múltiplos acidentais (debounce).
  • Configuração dinâmica do HC-06

    • Programe o envio dos comandos AT para configurar o PIN logo após a geração do novo valor.
    • Aguarde a resposta “OK” do HC-06 antes de atualizar o display — isso confirma que o módulo aceitou a configuração.
  • Exibição do PIN no OLED

    • Inicialize o display antes de exibir o PIN.
    • Atualize o valor sempre que um novo PIN for configurado, garantindo que não haja "resíduos" de valores antigos na tela.
  • Pareamento via computador

    • Após criar um novo PIN, faça o pareamento do computador.
    • Se o PC não encontrar o módulo, tente remover emparelhamentos antigos e busque novamente.
  • Lógica do LED PWM para status

    • Para efeito de fade, incremente/decremente gradualmente o duty cycle dentro de uma task periódica.
    • Ceritique-se que o módulo está conectado, usando o pino STATE do HC-06 ou fazer com que o python envie via protocolo, uma indicação de que o módulo está conectado (xQueueRX do exemplo), para alternar entre animar o LED ou mantê-lo aceso.
  • Modificar o python

    • Modificar a interface do python utilizado no lab Lab 6. ADC e PWM.
    • Defina um protocolo simples para envio das mensagens, facilitando a interpretação dos comandos pela Pico.
    • Adicione componentes (Botões / Sliders) para enviar os comandos de configuração das cores do LED RGB.

Pareado x Conectado

Pareado significa que o dispositivo Bluetooth já foi autenticado anteriormente e as credenciais (PIN/senha) foram salvas. Ou seja, o computador “conhece” o módulo HC-06 (com o NAME que foi definido) e pode se conectar a ele sem precisar informar o PIN novamente, desde que ele não tenha sido alterado.

Conectado significa que existe uma comunicação ativa naquele momento entre o dispositivo e o HC-06. Após o pareamento, a conexão ainda precisa ser estabelecida para que dados possam ser enviados e recebidos.