#include <WiFi.h>
#include <WebServer.h>
const char* ssid = "Wokwi-GUEST";
const char* password = "";
WebServer server(80);
// Pines
const int pinV1 = 34;
const int pinV2 = 35;
const int pinRele = 26;
// Variables
float v1 = 0;
float v2 = 0;
// Factor divisor (ajústalo según resistencias)
float factor = 5.0;
void leerVoltajes() {
int raw1 = analogRead(pinV1);
int raw2 = analogRead(pinV2);
float volt1 = (raw1 / 4095.0) * 3.3;
float volt2 = (raw2 / 4095.0) * 3.3;
v1 = volt1 * factor;
v2 = volt2 * factor;
}
void controlRele() {
if (v1 < 12.6 && v2 > 12.6) {
digitalWrite(pinRele, HIGH);
} else {
digitalWrite(pinRele, LOW);
}
}
void handleRoot() {
String html = "<html><head><meta http-equiv='refresh' content='2'></head><body>";
html += "<h1>Monitor ESP32</h1>";
html += "<p>V1: " + String(v1) + " V</p>";
html += "<p>V2: " + String(v2) + " V</p>";
html += "<p>Rele: " + String(digitalRead(pinRele) ? "ON" : "OFF") + "</p>";
html += "</body></html>";
server.send(200, "text/html", html);
}
void setup() {
Serial.begin(115200);
pinMode(pinRele, OUTPUT);
digitalWrite(pinRele, LOW);
WiFi.begin(ssid, password);
Serial.print("Conectando...");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nConectado!");
Serial.println(WiFi.localIP());
server.on("/", handleRoot);
server.begin();
}
void loop() {
leerVoltajes();
controlRele();
server.handleClient();
delay(500);
}