Exemplo ESP32 WebDigitalPins - Tutorial de Interface de Controle de Pinos Digitais
Visão Geral
O exemplo WebDigitalPins oferece uma interface web para controlar e monitorar todos os pinos digitais do seu Arduino. Projetado para a plataforma educacional ESP32, com recursos avançados de GPIO, configurações de pinos estendidas e recursos educacionais embutidos para aprender eletrônica digital. Você pode ligar/desligar pinos, monitorar seus estados em tempo real e executar operações em lote por meio de uma interface web intuitiva.

Recursos
- Controle Individual de Pinos: Controle cada pino digital (0-13) separadamente
- Status em Tempo Real: Monitore os estados dos pinos com indicadores visuais
- Operações em Lote: Controle todos os pinos de uma vez (All ON, All OFF, Toggle All)
- Configuração de Pinos: Defina pinos como Input ou Output pela interface web
- Feedback Visual: Botões coloridos mostram os estados dos pinos (verde=ON, vermelho=OFF)
- Design Responsivo: Funciona em desktop, tablet e celular
- Comunicação WebSocket: Atualizações instantâneas sem recarregar a página
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables ESP32 S3 Starter Kit (ESP32 S3 included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Instruções de Configuração
Passos Rápidos
Siga estas instruções passo a passo:
- Se esta é a sua primeira vez usando o ESP32, consulte o tutorial sobre como configurar o ambiente para ESP32 na Arduino IDE.
- Conecte a placa ESP32 ao seu computador usando um cabo USB.
- Abra a Arduino IDE no seu computador.
- Selecione a placa ESP32 apropriada (por exemplo, ESP32 Dev Module) e a porta COM.
- Vá até o ícone Libraries na barra lateral esquerda da Arduino IDE.
- Pesquise "DIYables ESP32 WebApps" e encontre a biblioteca DIYables ESP32 WebApps da DIYables
- Clique no botão Install para instalar a biblioteca.

- Você será solicitado a instalar algumas outras bibliotecas de dependência
- Clique no botão Install All para instalar todas as dependências da biblioteca.

- Na Arduino IDE, vá em File Examples DIYables ESP32 WebApps WebDigitalPins, ou copie o código acima e cole no editor da Arduino IDE
- Configure as credenciais de WiFi no código atualizando estas linhas:
- Clique no botão Upload na Arduino IDE para carregar o código no ESP32
- Abra o Serial Monitor
- Veja o resultado no Serial Monitor. Ele será parecido com o abaixo
- Se você não vir nada, reinicie a placa ESP32.
- Anote o endereço IP exibido e digite esse endereço na barra de endereços de um navegador web no seu celular ou PC.
- Exemplo: http://192.168.0.2
- Você verá a home page como na imagem abaixo:

- Clique no link Web Digital Pins e você verá a interface do app Web Digital Pins como abaixo:

- Você também pode acessar a página diretamente pelo endereço IP seguido de /web-digital-pins. Por exemplo: http://192.168.0.2/web-digital-pins
- Experimente controlar os pinos digitais clicando nos botões dos pinos para ligá-los/desligá-los (ON/OFF) e observe o LED embutido (pino 13) respondendo aos seus comandos.
Personalização Criativa - Adapte o Código ao Seu Projeto
O exemplo mostra diferentes formas de configurar os pinos para atender às necessidades do seu projeto criativo:
2. Configure os Ajustes dos Pinos
O exemplo mostra diferentes formas de configurar os pinos:
Método 1: Ativar Pinos Específicos
Método 2: Ativar Faixas de Pinos
Método 3: Ativar Todos os Pinos
4. Carregue o Sketch
- Selecione a sua placa ESP32: Tools → Board → ESP32
- Selecione a porta correta: Tools → Port → [Your ESP32 Port]
- Clique no botão Upload
5. Obtenha o Endereço IP
- Abra Tools → Serial Monitor
- Defina a taxa de transmissão (baud rate) como 9600
- Aguarde o ESP32 se conectar ao WiFi
- Anote o endereço IP exibido (por exemplo, 192.168.1.100)
6. Acesse a Interface de Pinos Digitais
Abra o seu navegador web e vá até:
Exemplo: http://192.168.1.100/digital-pins
Como Usar
Interface de Controle de Pinos
A interface web exibe todos os pinos configurados com:
- Número do Pino: Mostra qual pino do ESP32 (0-13)
- Estado Atual: Indicador ON (verde) ou OFF (vermelho)
- Botão de Controle: Clique para alternar o estado do pino
- Tipo do Pino: Mostra se está configurado como Input ou Output
Controle Individual de Pinos
- Ligar o Pino (ON): Clique no botão do pino quando ele mostrar "OFF"
- Desligar o Pino (OFF): Clique no botão do pino quando ele mostrar "ON"
- Monitorar o Estado: Os botões dos pinos são atualizados automaticamente para mostrar o estado atual
Operações em Lote
Use os botões de controle em lote para controlar vários pinos de uma vez:
All ON
- Coloca todos os pinos de saída configurados em estado HIGH
- Os pinos de entrada não são afetados
- Útil para testar todos os dispositivos conectados
All OFF
- Coloca todos os pinos de saída configurados em estado LOW
- Os pinos de entrada não são afetados
- Forma segura de desativar todas as saídas
Toggle All
- Inverte o estado de todos os pinos de saída
- Pinos ON passam a OFF, pinos OFF passam a ON
- Cria efeitos de iluminação interessantes
Monitoramento em Tempo Real
- Os estados dos pinos são atualizados automaticamente via WebSocket
- As alterações feitas no código são refletidas na interface web
- Vários usuários podem monitorar o mesmo ESP32 simultaneamente
Conexões de Hardware
Exemplos de Pinos de Saída
Controle de LED
Controle de Relé
Controle de Motor (via Driver de Motor)
Exemplos de Pinos de Entrada
Entrada de Chave
Entrada de Sensor
Personalização do Código
Adicionando Callbacks de Mudança de Pino
Monitore quando os pinos mudam de estado:
Inicialização Personalizada de Pinos
Defina pinos específicos nos estados desejados na inicialização:
Lendo Pinos de Entrada
Monitore os pinos de entrada no seu loop principal:
Recursos Avançados
Grupos de Pinos
Crie grupos lógicos de pinos para funções relacionadas:
Geração de Padrões
Crie padrões ou sequências de iluminação:
Integração com Controle PWM
Combine com o controle analógico para recursos avançados:
Considerações de Segurança
Diretrizes de Uso dos Pinos
Pinos 0 e 1 (TX/RX)
- Usados para comunicação Serial
- Evite usá-los, a menos que seja absolutamente necessário
- Podem interferir na programação e na depuração
Pino 13 (LED Embutido)
- Seguro para usar em testes
- O LED embutido fornece feedback visual
- Bom para os testes iniciais
Pinos 2-12
- Seguros para I/O digital em geral
- Recomendados para a maioria das aplicações
- Sem considerações especiais
Limitações de Corrente
Corrente Máxima por Pino: 40mA
- Use resistores limitadores de corrente com LEDs
- Use transistores ou relés para cargas de alta corrente
- Considere o consumo total de corrente
Níveis de Tensão: Lógica de 3.3V
- O ESP32 usa lógica de 3.3V
- Garanta que os dispositivos conectados sejam compatíveis
- Use conversores de nível para dispositivos de 5V, se necessário
Solução de Problemas
Problemas Comuns
1. O pino não responde
- Verifique se o pino está ativado no código
- Confira as conexões de hardware
- Verifique se há curtos-circuitos
- Confirme o modo do pino (INPUT/OUTPUT)
2. A interface web não atualiza
- Verifique o status da conexão WebSocket
- Atualize a página do navegador
- Confira a conectividade de rede
- Verifique o Serial Monitor em busca de erros
3. As operações em lote não funcionam
- Garanta que os pinos estejam configurados como saídas
- Verifique se há limitações de hardware
- Confira a capacidade da fonte de alimentação
- Monitore condições de sobrecorrente
4. Pinos de entrada mostrando estados errados
- Verifique se há resistores de pull-up/pull-down adequados
- Confira os níveis do sinal de entrada
- Verifique se há interferência eletromagnética
- Confirme a configuração do pino
Dicas de Depuração
Ative a saída de depuração:
Ideias de Projetos
Automação Residencial
- Controlar as luzes de um cômodo
- Operar persianas de janelas
- Controlar sistemas de aquecimento/refrigeração
- Integração com sistema de segurança
Automação de Jardim
- Controle do sistema de irrigação
- Gerenciamento de luzes de cultivo
- Regulagem de temperatura
- Controle de umidade
Controle de Oficina
- Controle de alimentação de ferramentas
- Gerenciamento de iluminação
- Sistema de ventilação
- Intertravamentos de segurança
Projetos Educacionais
- Demonstrações de portas lógicas
- Simulação de semáforo
- Projetos de sistema de alarme
- Experimentos de controle remoto
Exemplos de Integração
Iluminação Ativada por Movimento
Ventilador Controlado por Temperatura
Próximos Passos
Depois de dominar o exemplo WebDigitalPins, experimente:
- WebSlider - Para controle PWM e analógico
- WebJoystick - Para controle direcional
- WebMonitor - Para depuração e monitoramento
- MultipleWebApps - Combinando todos os recursos
Tutorial em Vídeo
O vídeo de demonstração abaixo usa o seguinte código: