Exemplo Arduino 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 Arduino Uno R4 WiFi e DIYables STEM V4 IoT, com recursos GPIO avançados, configurações de pinos estendidas e recursos educacionais integrados para aprender eletrônica digital. Você pode ligar/desligar pinos, monitorar o estado deles 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 o estado 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 os pinos como entrada (Input) ou saída (Output) pela interface web
- Retorno Visual: Botões coloridos mostram o estado 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
- Plataforma Extensível: Atualmente implementada para o Arduino Uno R4 WiFi, mas pode ser estendida para outras plataformas de hardware. Veja DIYables_WebApps_ESP32
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) |
Instruções de Configuração
Passos Rápidos
Siga estas instruções passo a passo:
- Se esta é a sua primeira vez usando o Arduino Uno R4 WiFi/DIYables STEM V4 IoT, consulte o tutorial sobre como configurar o ambiente para o Arduino Uno R4 WiFi/DIYables STEM V4 IoT no Arduino IDE.
- Conecte a placa Arduino Uno R4/DIYables STEM V4 IoT ao seu computador usando um cabo USB.
- Abra o Arduino IDE no seu computador.
- Selecione a placa Arduino Uno R4 apropriada (por exemplo, Arduino Uno R4 WiFi) e a porta COM.
- Navegue até o ícone Libraries na barra esquerda do Arduino IDE.
- Pesquise "DIYables WebApps" e encontre a biblioteca DIYables WebApps, da DIYables
- Clique no botão Install para instalar a biblioteca.

- Você será perguntado se quer instalar outras bibliotecas das quais ela depende
- Clique no botão Install All para instalar todas as dependências da biblioteca.

- No Arduino IDE, vá em File Examples DIYables WebApps WebDigitalPins para abrir o exemplo, ou copie o código acima e cole no editor do Arduino IDE
- Configure as credenciais do WiFi no código atualizando estas linhas:
- Clique no botão Upload no Arduino IDE para carregar o código no Arduino UNO R4/DIYables STEM V4 IoT
- Abra o Serial Monitor
- Veja o resultado no Serial Monitor. Ele deve ficar parecido com o abaixo
- Se você não vir nada, reinicie a placa Arduino.
- 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
- Tente controlar os pinos digitais clicando nos botões dos pinos para ligá-los/desligá-los (ON/OFF) e observe o LED integrado (pino 13) respondendo aos seus comandos.
Personalização Criativa - Adapte o Código ao Seu Projeto
O exemplo mostra diferentes maneiras de configurar os pinos para atender às necessidades do seu projeto criativo:
2. Configure os Pinos
O exemplo mostra diferentes maneiras 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. Faça o Upload do Sketch
- Selecione a sua placa Arduino: Tools → Board → Arduino UNO R4 WiFi
- Selecione a porta correta: Tools → Port → [Your Arduino Port]
- Clique no botão Upload
5. Obtenha o Endereço IP
- Abra Tools → Serial Monitor
- Defina a taxa de transmissão (baud rate) para 9600
- Aguarde o Arduino 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á para:
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 Arduino (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 entrada (Input) ou saída (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 se atualizam 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 viram OFF e pinos OFF viram ON
- Cria efeitos de iluminação interessantes
Monitoramento em Tempo Real
- Os estados dos pinos são atualizados automaticamente via WebSocket
- As mudanças feitas no código aparecem na interface web
- Vários usuários podem monitorar o mesmo Arduino ao mesmo tempo
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 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 usar, a menos que seja absolutamente necessário
- Podem interferir na programação e na depuração
Pino 13 (LED integrado)
- Seguro para usar em testes
- O LED integrado dá retorno 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 Arduino Uno R4 WiFi usa lógica de 3.3V
- Garanta que os dispositivos conectados sejam compatíveis
- Use conversores de nível (level shifters) para dispositivos de 5V, se necessário
Tutorial em Vídeo
O vídeo de demonstração abaixo usa o seguinte código:
Solução de Problemas
Problemas Comuns
1. O pino não responde
- Verifique se o pino está ativado no código
- Confirme 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
- Confirme 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
- Confirme a capacidade da fonte de alimentação
- Monitore condições de sobrecorrente
4. Os pinos de entrada mostram estados errados
- Verifique se há resistores de pull-up/pull-down adequados
- Confirme 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
- Controle as luzes dos cômodos
- Acione persianas de janela
- Controle sistemas de aquecimento/refrigeração
- Integração com sistema de segurança
Automação de Jardim
- Controle de sistema de irrigação
- Gerenciamento de luz de cultivo
- Regulação de temperatura
- Controle de umidade
Controle de Oficina
- Controle de energia das ferramentas
- Gerenciamento da 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
Suporte
Para obter mais ajuda:
- Consulte a documentação de Referência da API
- Visite os tutoriais da DIYables: https://newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-diyables-webapps
- Fóruns da comunidade Arduino