Exemplo de Joystick Bluetooth com Arduino UNO R4 WiFi - Tutorial de Controle Direcional 2D via BLE
Visão Geral
O exemplo de Joystick Bluetooth oferece um controle de joystick 2D interativo, acessível pelo app DIYables Bluetooth STEM. Feito para o Arduino UNO R4 WiFi usando BLE (Bluetooth Low Energy) para receber coordenadas X/Y em tempo real (-100 a +100) para controle direcional. Perfeito para navegação de robôs, servos pan-tilt, controle de motores e controles de jogos.
Nota: O Arduino UNO R4 WiFi só suporta BLE (Bluetooth Low Energy). Ele não suporta Bluetooth Clássico. O app DIYables Bluetooth suporta BLE e Bluetooth Clássico no Android, e BLE no iOS. Como esta placa usa BLE, o app funciona no Android e no iOS.

Recursos
- Controle 2D: eixos X e Y com faixa de -100 a +100
- Sensibilidade Configurável: limite mínimo de movimento para disparar as atualizações
- Opção de Retorno Automático: o joystick pode voltar ao centro quando for solto
- Valores em Tempo Real: atualizações contínuas da posição enquanto você arrasta
- Funciona no Android e no iOS: o BLE é suportado nas duas plataformas
- Sem Necessidade de Pareamento: o BLE conecta automaticamente, sem pareamento manual
- Baixo Consumo: o BLE consome menos energia que o Bluetooth Clássico
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables STEM V4 IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables STEM V4B IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Código Arduino UNO R4 WiFi
Passos Rápidos
Siga estas instruções passo a passo:
- Se esta é a primeira vez que você usa o Arduino UNO R4 WiFi, consulte o guia de primeiros passos do Arduino UNO R4 WiFi.
- Conecte a placa Arduino UNO R4 WiFi ao seu computador usando um cabo USB.
- Abra o Arduino IDE no seu computador.
- Selecione a placa Arduino UNO R4 WiFi e a porta COM apropriada.
- Vá até o ícone Libraries na barra lateral esquerda do Arduino IDE.
- Pesquise "DIYables Bluetooth" e encontre a biblioteca DIYables Bluetooth, da DIYables
- Clique no botão Install para instalar a biblioteca.

- Será pedido que você instale algumas outras dependências da biblioteca
- Clique no botão Install All para instalar todas as dependências da biblioteca.

Código BLE
- No Arduino IDE, vá em File Examples DIYables Bluetooth ArduinoBLE_Joystick para abrir o exemplo, ou copie o código acima e cole no editor do Arduino IDE
- Clique no botão Upload no Arduino IDE para carregar o código no Arduino UNO R4 WiFi
- Abra o Serial Monitor
- Veja o resultado no Serial Monitor. Ele deve ficar parecido com o abaixo:
App para Celular
Nota: O app DIYables Bluetooth suporta BLE e Bluetooth Clássico no Android, e BLE no iOS. Como o Arduino UNO R4 WiFi usa BLE, o app funciona no Android e no iOS. Não é preciso pareamento manual para o BLE — basta procurar e conectar.
- Abra o app DIYables Bluetooth
- Ao abrir o app pela primeira vez, ele vai pedir permissões. Conceda as seguintes:
- Permissão de Dispositivos por Perto (Android 12+) / permissão de Bluetooth (iOS) - necessária para procurar e conectar dispositivos Bluetooth
- Permissão de Localização (somente Android 11 e anteriores) - exigida por versões mais antigas do Android para procurar dispositivos BLE
- Verifique se o Bluetooth está ligado no seu celular
- Na tela inicial, toque no botão Connect. O app vai procurar dispositivos BLE.

- Encontre e toque em "Arduino_Joystick" nos resultados da busca para conectar.
- Depois de conectado, o app volta automaticamente para a tela inicial. Selecione o app Joystick no menu de apps.

Nota: Você pode tocar no ícone de configurações na tela inicial para ocultar/mostrar apps na tela inicial. Para mais detalhes, veja o Manual do Usuário do DIYables Bluetooth App.
- Arraste o joystick em qualquer direção

Agora volte ao Serial Monitor no Arduino IDE. Você verá:
Personalização Criativa - Adapte o Código ao Seu Projeto
Tratar os Valores do Joystick
Configurar as Opções do Joystick
Tratar a Solicitação de Configuração
Exemplos de Programação
Robô de Tração Diferencial
Servo Pan-Tilt
Direção com Zona Morta
Solução de Problemas
Problemas Comuns
1. Não consigo encontrar o dispositivo no app
- Verifique se o Arduino UNO R4 WiFi está ligado e se o sketch foi carregado
- Verifique se o Bluetooth do seu celular está ativado
- No Android 11 e anteriores, ative também os serviços de Localização
2. O joystick não responde
- Verifique o status da conexão Bluetooth no app
- Confirme que o callback onJoystickValue está configurado corretamente
- Verifique as mensagens de conexão no Serial Monitor
3. O movimento parece lento
- Reduza o valor de sensibilidade para ter atualizações mais frequentes
- Garanta que bluetoothServer.loop() seja chamado sem atrasos longos
4. Os valores saltam ou são inconsistentes
- Adicione um filtro de zona morta para movimentos pequenos
- Verifique a configuração de sensibilidade
5. A conexão cai com frequência
- Aproxime-se do Arduino (reduza a distância)
- Garanta uma alimentação USB estável
6. O upload falha ou a placa não é reconhecida
- Instale o pacote de placas Arduino UNO R4 mais recente pelo Board Manager
- Tente outro cabo ou outra porta USB
Ideias de Projetos
- Controle remoto sem fio para robô
- Suporte pan-tilt para câmera
- Controle de 2 eixos para braço robótico
- Controlador de posição para matriz de LEDs
- Controle de jogos para jogos com Arduino
Próximos Passos
Depois de dominar o exemplo de Joystick Bluetooth, experimente:
- Bluetooth Slider - Para controle de valores lineares
- Bluetooth Rotator - Para controle angular
- Bluetooth Monitor - Para retorno de status
- Multiple Bluetooth Apps - Combinando o joystick com outros controles
Suporte
Para ajuda adicional:
- Consulte a documentação de Referência da API
- Visite os tutoriais da DIYables
- Fóruns da comunidade Arduino