martes, 17 de noviembre de 2015

Control de 2 relés a través de web.

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