Servidor Web Arduino Uno WiFi: Controle LED via Navegador
Componentes e Materiais
| Componente | Quantidade | Observações |
|---|---|---|
| Arduino UNO WiFi | 1 | |
| LED | 1 | Pode usar o LED integrado no pino 13 |
| Resistor 220Ω | 1 | Se usar LED externo |
| Fios | - | |
| Protoboard | 1 |
Sobre o Projeto
WebServerBlink
Neste exemplo demonstrativo, mostra-se como realizar um servidor web simples, usando um Arduino UNO WiFi, para comandar o ligar/desligar de um LED.
1. Hardware
- Arduino UNO WiFi
- LED
- Resistor 220Ω
- Fios
- Protoboard
2. Circuito
Você pode usar o LED integrado L no pino 13 ou outro, neste caso conecte o ânodo do LED (geralmente o pino mais longo) em série com um resistor de 220Ω e conecte ao pino 13 da placa. Depois conecte o cátodo ao GND, como mostrado na figura.
Agora conecte a placa ao PC e faça upload do sketch abaixo.
3. Código
Faça upload do código abaixo e acesse via navegador em https://<IP>/arduino/webserver/ ou https://<hostname>.local/arduino/webserver/ para ler os valores dos sensores.
#include <Wire.h>
#include <ArduinoWiFi.h>
/* no seu navegador, digite https://<IP>/arduino/webserver/ ou https://<hostname>.local/arduino/webserver/
https://www.arduino.org/learning/tutorials/webserverblink */
void setup() {
pinMode(13, OUTPUT);
Wifi.begin();
Wifi.println("WebServer Server is up");
}
void loop() {
while (Wifi.available()) {
process(Wifi);
}
delay(50);
}
void process(WifiData client) {
String command = client.readStringUntil('/');
if (command == "webserver") {
WebServer(client);
}
if (command == "digital") {
digitalCommand(client);
}
}
void WebServer(WifiData client) {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.println("");
client.println(" ");
client.print("");
client.print("Clickpin13 ON
");
client.print("Clickpin13 OFF
");
client.print("");
client.println("");
client.print(DELIMITER); // muito importante para terminar a comunicação !!!
}
void digitalCommand(WifiData client) {
int pin, value;
pin = client.parseInt();
if (client.read() == '/') {
value = client.parseInt();
digitalWrite(pin, value);
}
client.println("Status: 200 OK\n");
client.print(F("Pin D"));
client.print(pin);
client.print(F(" set to "));
client.print(value);
client.print(EOL); // terminador char
}
4. Saída
- Abra um navegador e digite:
https://<IP>/arduino/webserver/ouhttps://<hostname>.local/arduino/webserver/
- Clique ON para ligar o LED 13:
- Clique OFF para desligar o LED 13:
- Você também pode comandar o LED pelo painel web, como mostrado abaixo:
Nota: Digite o endereço IP ou o hostname.local/ da sua placa no navegador para acessar o painel web do Arduino UNO WiFi.
Código
WebServer– Sketch principal (C/C++)
Esquemáticos
Processo de manufatura
- Construa Robô Raspberry Pi Controlado por Wi-Fi com Python – Guia Passo a Passo
- Construa uma Boneca Interativa Temática de Round 6 com Arduino UNO – Projeto DIY
- Crie um Sistema Ambilight Impressionante para Monitor com Arduino
- Robô de Detecção Humana Baseado em Arduino Uno: Integração de Sensores Passo a Passo
- Construa um Voltímetro Inteligente com Arduino e Smartphone – Projeto DIY Fácil
- Monitor de Frequência Cardíaca IoT em Tempo Real com Arduino e MAX30100
- Construa uma Calculadora Básica com Arduino UNO – Projeto Fácil
- Display Portátil de Persistência da Visão com Arduino UNO e ATtiny85
- Automatize o Jogo do Dinossauro do Chrome com Arduino e LDR
- Fechadura Inteligente Wi-Fi com Arduino e ESP8266 - Desbloqueio via Celular