Web Slider com Arduino Nano ESP32 e a Biblioteca DIYables ESP32 WebApps
Visão Geral
Este tutorial aborda a classe DIYablesWebSliderPage da Biblioteca DIYables ESP32 WebApps. A página apresenta dois sliders independentes no navegador, cada um com faixa de 0 a 255. O Arduino Nano ESP32 recebe os valores dos sliders por WebSocket por meio de um callback. Os valores podem ser usados diretamente com analogWrite() para controle por PWM de LEDs, motores ou qualquer saída de 8 bits.

O Que Este Tutorial Aborda
- Receber os valores dos sliders em um callback do sketch
- Aplicar os valores do slider 1 e do slider 2 a saídas analogWrite()
- Fornecer as posições atuais dos sliders aos navegadores recém-conectados
- Definir as posições iniciais padrão dos sliders
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 é 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 o 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 do Arduino IDE.
- Pesquise "DIYables ESP32 WebApps" e encontre a Biblioteca DIYables ESP32 WebApps da DIYables
- Clique no botão Install para instalar a biblioteca.
- Search for DIYables ESP32 WebApps created by DIYables and click the Install button.
- Você será solicitado a instalar algumas outras dependências da biblioteca
- Clique no botão Install All para instalar todas as dependências da biblioteca.
- No Arduino IDE, vá até o exemplo File Examples DIYables ESP32 WebApps WebSlider, ou copie o código acima e cole no editor do Arduino IDE
- Atualize as credenciais de WiFi no sketch:
- Clique no botão Upload no 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 exibido no Serial Monitor em um navegador na mesma rede.
- Exemplo: http://192.168.0.2
- A página inicial mostra um card para o aplicativo slider:

- Selecione o card Web Slider para abrir a página de controle dos sliders:

- A página também pode ser acessada diretamente em http://192.168.0.2/web-slider.
- Mova os sliders e observe os valores impressos no Serial Monitor.
Valores Padrão dos Sliders
Acompanhe as posições atuais dos sliders em variáveis de estado e defina os valores padrão antes de registrar os callbacks:
Callbacks
Recebendo Mudanças dos Sliders
Chamado cada vez que o usuário move um dos sliders:
Fornecendo Valores ao Navegador
Chamado quando um navegador se conecta e solicita as posições atuais:
Casos de Uso Típicos
Brilho de LED: Conecte o slider 1 a um pino com suporte a PWM e um LED. A faixa de 0–255 corresponde diretamente a 0–100% de brilho por meio de analogWrite().
Velocidade de motor: Envie os valores dos sliders para a entrada de controle de velocidade de um driver de motor. Ajuste a escala para a faixa necessária dentro do callback.
Controle de dois canais: O slider 1 e o slider 2 são totalmente independentes. Use um para velocidade e outro para direção, ou um para cada motor em um sistema de tração dupla.
Solução de Problemas
Os valores dos sliders não são recebidos
- Confirme que onSliderValueFromWeb está registrado antes de webAppsServer.begin()
- Verifique no Serial Monitor se os valores estão chegando
- Verifique se o navegador mostra a conexão WebSocket como ativa
Os sliders do navegador são redefinidos ao reconectar
- Implemente onSliderValueToWeb e chame sendToWebSlider() dentro dele para que o navegador restaure as últimas posições ao conectar
Sem saída PWM
- Confirme que o pino suporta analogWrite() no Arduino Nano ESP32
- Verifique se pinMode(pin, OUTPUT) foi definido antes de analogWrite()