Arduino Nano ESP32 Web Joystick com a Biblioteca DIYables ESP32 WebApps
Visão Geral
Este tutorial aborda a classe DIYablesWebJoystickPage da Biblioteca DIYables ESP32 WebApps. A página do navegador renderiza um joystick virtual com suporte a toque e mouse, que envia coordenadas X/Y para o Arduino Nano ESP32 via WebSocket. O sketch registra um callback que recebe esses valores e pode aplicá-los a drivers de motor, controladores de servo ou qualquer hardware direcional.

O Que Este Tutorial Aborda
- Instanciar a página do joystick com as configurações de retorno automático e sensibilidade
- Receber os valores de posição X/Y em um callback do sketch
- Usar as coordenadas para controlar um sistema de motores com tração diferencial
- Devolver ao navegador a posição atual do joystick quando solicitado
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Passos
Siga estas instruções passo a passo:
- Se esta for a primeira vez que você usa o Arduino Nano ESP32, consulte o tutorial sobre como configurar o ambiente de desenvolvimento do Arduino Nano ESP32.
- Conecte a placa Arduino Nano ESP32 ao seu computador usando um cabo USB.
- Abra a Arduino IDE no seu computador.
- Selecione a placa apropriada (por exemplo, Arduino Nano ESP32) e a porta COM.
- Vá até o ícone Libraries na barra à esquerda da Arduino IDE.
- Pesquise por "DIYables ESP32 WebApps" e encontre a DIYables ESP32 WebApps Library, de DIYables
- Clique no botão Install para instalar a biblioteca.
- Search for DIYables ESP32 WebApps created by DIYables and click the Install button.
- Será solicitado que você instale algumas outras dependências da biblioteca
- Clique no botão Install All para instalar todas as dependências da biblioteca.
- Na Arduino IDE, vá até File Examples DIYables ESP32 WebApps WebJoystick, ou copie o código acima e cole-o no editor da Arduino IDE
- Atualize as credenciais do WiFi no sketch:
- Clique no botão Upload na Arduino IDE para fazer o upload do código para o Arduino Nano ESP32
- Abra o Serial Monitor
- A saída do Serial Monitor deve ser parecida com esta:
- Se nada aparecer, pressione o botão de reset da placa.
- Digite o endereço IP do Serial Monitor em um navegador na mesma rede.
- Exemplo: http://192.168.0.2
- A página inicial exibe um card para o aplicativo de joystick:

- Selecione o card Web Joystick para abrir a página de controle:

- A página também pode ser acessada diretamente em http://192.168.0.2/web-joystick.
- Arraste o joystick e observe os valores X/Y impressos no Serial Monitor.
Configuração do Joystick
Configurações Padrão
Configurações Personalizadas
Sistema de Coordenadas
- Eixo X: –100 (totalmente à esquerda) a +100 (totalmente à direita)
- Eixo Y: –100 (totalmente para baixo) a +100 (totalmente para cima)
- Centro: X = 0, Y = 0 (neutro)
Callbacks
Recebendo Atualizações de Posição
Fornecendo a Posição ao Navegador
Chamado quando um navegador se conecta e solicita o estado atual:
Exemplo de Controle de Motor
Mapeie o X/Y do joystick para um sistema de motores com tração diferencial:
Solução de Problemas
O joystick se move no navegador, mas o Serial Monitor não mostra nada
- Verifique se onJoystickValueFromWeb está registrado antes de webAppsServer.begin()
- Confirme se o indicador de status do WebSocket mostra "connected" no navegador
O joystick não volta para o centro
- autoReturn deve ser true no construtor (o padrão é true)
- O navegador cuida da animação de retorno; a placa recebe apenas os eventos de posição
Atualizações demais por segundo causando lag
- Aumente o parâmetro sensitivity (por exemplo, mude de 5 para 15)
- Adicione uma verificação de intervalo mínimo no callback antes de executar as ações de hardware
Placa inacessível
- Tanto a placa quanto o dispositivo do navegador devem estar na mesma rede de 2,4 GHz
- Confirme se o endereço IP do Serial Monitor está correto