Control de 2 relés por página web
Vamos a realizar una practica para el control de 2 reles conectandonos por una tablet, móvil o pc.
Para realizar dicha páctica vamos a utilizar lo siguiente:
- Placa Arduino uno.
- Placa Ethernet.
- Placa de 2 reles.
- Cables para las conexiones.
Para la instalación, montamos la placa Ethernet en la placa Arduino y cableamos con la de reles de la siguiente forma:
A continuación cargamos en nuestro Arduino el siguiente programa:
/*
Arduino Ethernet Shield
Control Remoto de 2 Reles by Frank
*/
#include <SPI.h>
#include <Ethernet.h>
byte mac[]={0xDE,0xAD,0xBE,0xEF,0xFE,0xED}; //MAC
IPAddress ip(192,168,1,9);
EthernetServer servidor(80);
int PIN_LED1=5;
String readString1=String(30);
String state1=String(3);
int PIN_LED2=6;
String state2=String(3);
void setup()
{
Ethernet.begin(mac, ip);
servidor.begin();
pinMode(PIN_LED1,OUTPUT);
digitalWrite(PIN_LED1,LOW);
state1="OFF";
digitalWrite(PIN_LED2,LOW);
pinMode(PIN_LED2,OUTPUT);
state2="OFF";
}
void loop()
{
EthernetClient cliente= servidor.available();
if(cliente)
{
boolean lineaenblanco=true;
while(cliente.connected())
{
if(cliente.available())
{
char c=cliente.read();
if(readString1.length()<30)
{
readString1.concat(c);
}
if(c=='\n' && lineaenblanco)
{
int LED1 = readString1.indexOf("LED1=");
int LED2 = readString1.indexOf("LED2=");
if(readString1.substring(LED1,LED1+6)=="LED1=T")
{
digitalWrite(PIN_LED1,HIGH);
state1="ON";
} else if (readString1.substring(LED1,LED1+6)=="LED1=F")
{
digitalWrite(PIN_LED1,LOW);
state1="OFF";
}
if(readString1.substring(LED2,LED2+6)=="LED2=T")
{
digitalWrite(PIN_LED2,HIGH);
state2="ON";
} else if (readString1.substring(LED2,LED2+6)=="LED2=F")
{
digitalWrite(PIN_LED2,LOW);
state2="OFF";
}
}
//Cabecera HTTP estándar
cliente.println("HTTP/1.1 200 OK");
cliente.println("Content-Type: text/html");
cliente.println();
//Página Web en HTML
cliente.println("<html>");
cliente.println("<head>");
cliente.println("<title>Control 2 Reles</title>");
cliente.println("<h2><font color='#2076CD'>Control Remoto de Reles v1.0</font color></div></h2>");
cliente.print("<body bgcolor='#149195'>");
cliente.println("</head>");
cliente.println("<h3>RELE 1</h3>");
cliente.println("<input type=submit value=OFF style=width:50px;height:25px onClick=location.href='./?LED1=T\'>");
cliente.println("<input type=submit value=ON style=width:50px;height:25px onClick=location.href='./?LED1=F\'>");
cliente.print("Estado: ");
cliente.print(state1);
cliente.println("<h3>RELE 2</h3>");
cliente.println("<input type=submit value=OFF style=width:50px;height:25px onClick=location.href='./?LED2=T\'>");
cliente.println("<input type=submit value=ON style=width:50px;height:25px onClick=location.href='./?LED2=F\'>");
cliente.print("Estado: ");
cliente.print(state2);
cliente.println("</body>");
cliente.println("</html>");
cliente.stop();
readString1="";
}
}
}
}
}
Conectamos la toma Ethernet del Arduino al Router y desde el móvil, tablet o Pc conectado a la wifi o red de dicho router abrimos un navegador y marcamos la ip 192.168.1.9 y le damos al enter.
Vemos que nos aparece la siguiente pantalla:
Interactuando sobre los botones de ON y OFF conseguimos apagar y encender los reles, los cuales se pueden utilizar para conectar una luz, un motor, etc.
No hay comentarios:
Publicar un comentario