Arduino Uno R4 WiFi controla Relé via Web

Neste tutorial, vamos aprender a controlar um relé usando uma interface web acessível por um navegador em um PC ou smartphone. Vamos usar a placa Arduino Uno R4 WiFi, que será programada para funcionar como um servidor web. Vamos supor que o endereço IP do Arduino Uno R4 WiFi seja 192.168.0.2. Veja como funciona:

Arduino Uno R4 relé pelo navegador web

Ao conectar um relé a dispositivos como uma fechadura solenoide, uma lâmpada, uma fita LED, um motor ou um atuador, podemos controlá-los por meio de uma interface web.

O tutorial fornece uma base que você pode personalizar de forma fácil e criativa para conseguir o seguinte:

Sobre o Relé e o Arduino Uno R4

Se você não conhece o Arduino Uno R4 e o relé (pinagem, como funciona, como programar ...), aprenda sobre eles nos tutoriais a seguir:

Diagrama de Ligação

Diagrama de Ligação do Arduino Uno R4 WiFi com relé

This image is created using Fritzing. Click to enlarge image

Código Arduino

/* * Este código de Arduino foi desenvolvido por pt.newbiely.com * Este código de Arduino é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino/arduino-uno-r4-wifi-controls-relay-via-web */ #include <UnoR4WiFi_WebServer.h> // WiFi credentials const char WIFI_SSID[] = "YOUR_WIFI_SSID"; const char WIFI_PASSWORD[] = "YOUR_WIFI_PASSWORD"; #define RELAY_PIN 7 // Arduino pin connected to relay's pin const char* HTML_CONTENT = "<!DOCTYPE HTML>\n" "<html>\n" "<head>\n" "<link rel=\"icon\" href=\"data:,\">\n" "</head>\n" "<body>\n" "<a href=\"/relay1/on\">RELAY ON</a>\n" "<br><br>\n" "<a href=\"/relay1/off\">RELAY OFF</a>\n" "</body>\n" "</html>\n"; // Create web server instance UnoR4WiFi_WebServer server; // Page handlers void handleHome(WiFiClient& client, const String& method, const String& request, const QueryParams& params, const String& jsonData) { server.sendResponse(client, HTML_CONTENT); } void handleRelayOn(WiFiClient& client, const String& method, const String& request, const QueryParams& params, const String& jsonData) { digitalWrite(RELAY_PIN, HIGH); Serial.println("Turned relay ON"); server.sendResponse(client, HTML_CONTENT); } void handleRelayOff(WiFiClient& client, const String& method, const String& request, const QueryParams& params, const String& jsonData) { digitalWrite(RELAY_PIN, LOW); Serial.println("Turned relay OFF"); server.sendResponse(client, HTML_CONTENT); } void setup() { Serial.begin(9600); delay(1000); // Initialize relay pin pinMode(RELAY_PIN, OUTPUT); digitalWrite(RELAY_PIN, LOW); // Connect to WiFi Serial.print("Connecting to "); Serial.println(WIFI_SSID); WiFi.begin(WIFI_SSID, WIFI_PASSWORD); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println("connected!"); Serial.print("IP address: "); Serial.println(WiFi.localIP()); // Configure routes server.addRoute("/", handleHome); server.addRoute("/relay1/on", handleRelayOn); server.addRoute("/relay1/off", handleRelayOff); // Start server server.begin(); Serial.println("\n=== Web Server Ready! ==="); Serial.print("Visit: http://"); Serial.println(WiFi.localIP()); } void loop() { server.handleClient(); }

Passos Rápidos

  • Se esta é a primeira vez que você usa o Arduino Uno R4, veja como configurar o ambiente para o Arduino Uno R4 na Arduino IDE.
  • Abra o Library Manager clicando no ícone Library Manager no lado esquerdo da Arduino IDE.
  • Pesquise por Web Server for Arduino Uno R4 WiFi e localize a biblioteca Web Server criada pela DIYables.
  • Clique no botão Install para adicionar a biblioteca Web Server.
Biblioteca Web Server do Arduino UNO R4
  • Copie o código acima e abra-o na Arduino IDE
  • Altere as informações de WiFi (SSID e senha) no código para as suas
  • Clique no botão Upload na Arduino IDE para carregar o código no Arduino
  • Abra o Serial Monitor
  • Confira o resultado no Serial Monitor.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno' on 'COM15')
New Line
9600 baud
Attempting to connect to SSID: YOUR_WIFI IP Address: 192.168.0.2 signal strength (RSSI):-39 dBm
Ln 11, Col 1
Arduino Uno on COM15
2
  • Você verá um endereço IP, por exemplo: 192.168.0.2. Este é o endereço IP do Servidor Web do Arduino
  • Abra um navegador web e digite um dos três formatos abaixo na barra de endereços:
192.168.0.2
192.168.0.2/relay1/on
192.168.0.2/relay1/off
  • Observe que o endereço IP pode ser diferente. Verifique o valor atual no Serial Monitor.
  • Além disso, você verá a seguinte saída no Serial Monitor.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno' on 'COM15')
New Line
9600 baud
Connecting to YOUR_WIFI_SSID connected! IP address: 0.0.0.0 Starting web server on IP: 192.168.0.254 === Web Server Ready! === Visit: http://192.168.0.254 Method: GET Requested path: / Client disconnected Method: GET Requested path: /relay1/on Turned relay on Client disconnected
Ln 11, Col 1
Arduino Uno on COM15
2
  • Verifique o estado do relé
  • Você verá a página web da placa Arduino no navegador como abaixo:
Arduino Uno R4 relé pelo navegador web

Agora você pode controlar o estado ligado/desligado do relé pela interface web. Você também pode personalizar o código de forma fácil e criativa para conseguir o seguinte:

  • Controlar vários relés por meio de uma interface web.
  • Redesenhar a interface de usuário (UI) web de acordo com suas preferências.

Se você deseja melhorar a aparência da página web com uma interface gráfica de usuário (UI) impressionante, pode consultar o tutorial Arduino - Servidor Web para se inspirar e se orientar.

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!