Exemplo de Rotator Bluetooth para Arduino Nano ESP32 - Tutorial de Controle de Ângulo via BLE
Visão Geral
Este exemplo oferece controle de posição angular no Arduino Nano ESP32 usando BLE (Bluetooth Low Energy) por meio do aplicativo DIYables Bluetooth STEM. Controle ângulos de rotação e servo motores sem fio a partir de um smartphone. Suporta os modos de faixa limitada e de rotação contínua. Adequado para controle de servos, robótica, mecanismos pan-tilt e posicionamento angular.
Observação: O Arduino Nano ESP32 suporta apenas BLE — o Bluetooth Clássico não é suportado. O DIYables Bluetooth App funciona em Android e iOS com BLE.

Recursos
- Modo Limitado: Defina uma faixa de ângulo mínimo/máximo (por exemplo, 0° a 180°)
- Modo Contínuo: Rotação contínua completa de 360°
- Ângulo em Tempo Real: Receba atualizações do ângulo enquanto o usuário gira o seletor
- Integração com Servo: Controle direto do servo motor
- Sincronização do Ângulo Inicial: Envie a posição atual ao conectar
- Suporte a Android e iOS: O BLE é compatível com as duas plataformas
- Sem Necessidade de Pareamento: O BLE conecta sem pareamento manual
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Buy Note: For controlling multiple servo motors, use the PCA9685 16 Channel PWM Servo Driver Module to save MCU pins and simplify wiring.
Código Arduino Nano ESP32
Passos Rápidos
- Novo no Arduino Nano ESP32? Comece pelo guia de primeiros passos do Arduino Nano ESP32.
- Conecte o Arduino Nano ESP32 ao seu computador via USB.
- Abra a Arduino IDE.
- Selecione a placa Arduino Nano ESP32 e a porta COM correta.
- Clique no ícone Libraries na barra lateral esquerda.
- Pesquise por "DIYables Bluetooth" e selecione a biblioteca DIYables Bluetooth da DIYables.
- Clique em Install.

- Quando for solicitado a instalar as dependências, clique em Install All.

Código BLE
- Na Arduino IDE, abra File Examples DIYables Bluetooth ArduinoBLE_Rotator, ou cole o código no editor.
- Clique em Upload para gravar o sketch na placa.
- Abra o Serial Monitor.
- A saída do Serial Monitor deve ficar assim:
Aplicativo Móvel
Observação: O DIYables Bluetooth App funciona em Android e iOS com BLE. Não é necessário fazer pareamento manual.
- Abra o DIYables Bluetooth App.
- Na primeira abertura, conceda as seguintes permissões:
- Dispositivos Próximos (Android 12+) / Bluetooth (iOS) — necessário para procurar e conectar a dispositivos Bluetooth
- Localização (somente Android 11 e anteriores) — exigida pelas versões mais antigas do Android para procurar dispositivos BLE
- Verifique se o Bluetooth está ativado no seu dispositivo.
- Toque em Connect na tela inicial. O aplicativo vai procurar dispositivos BLE.

- Toque em "Arduino_Rotator" nos resultados da busca.
- Depois de conectar, volte à tela inicial e abra o aplicativo Rotator.

Toque no ícone de configurações na tela inicial para mostrar ou ocultar aplicativos. Veja o Manual do Usuário do DIYables Bluetooth App para mais detalhes.
- Um seletor rotativo mostrando de 0° a 180° vai aparecer.
- Gire o seletor para enviar valores de ângulo ao Arduino.

Agora volte ao Serial Monitor na Arduino IDE. Você verá:
Personalização Criativa - Adapte o Código ao Seu Projeto
Modos de Rotação
Tratar Mudanças de Ângulo
Enviar o Ângulo Atual
Exemplos de Programação
Controle de Servo Motor
Suporte Pan-Tilt para Câmera
Solução de Problemas
Problemas Comuns
1. Dispositivo não aparece no aplicativo
- Confirme que a placa está ligada e que o sketch foi carregado
- Verifique se o Bluetooth está ativado no seu celular
- No Android 11 e anteriores, ative também os serviços de localização
2. O servo não responde
- Verifique se o servo está ligado ao pino correto
- Confirme que a biblioteca do servo está incluída e que attach() é chamado
- Garanta que a fonte de alimentação seja adequada para o servo
3. A faixa de ângulo parece incorreta
- Revise os valores mínimo/máximo no construtor
- Confirme que ROTATOR_MODE_LIMITED é usado para uma faixa limitada
4. O seletor volta para 0 ao reconectar
- Envie o ângulo atual com sendAngle() quando o dispositivo reconectar
- O código de exemplo trata isso no callback onRotatorAngle
5. O upload falha ou a placa não é reconhecida
- Instale o pacote de placa Arduino Nano ESP32 mais recente pelo Board Manager
- Tente outro cabo ou outra porta USB
Ideias de Projetos
- Controlador de servo motor
- Suporte pan-tilt para câmera
- Controle de articulação de braço robótico
- Controle de termostato por seletor
- Exibição de bússola/direção
Próximos Passos
Depois de concluir o exemplo do Bluetooth Rotator, explore:
- Bluetooth Slider — Controle de valores lineares
- Bluetooth Joystick — Controle de posição 2D
- Bluetooth Analog Gauge — Exibição de retorno visual
- Multiple Bluetooth Apps — Combine o rotator com outros widgets do aplicativo
Suporte
Para obter mais ajuda:
- Consulte a documentação de referência da API
- Visite os tutoriais da DIYables
- Fóruns da comunidade Arduino