Ayuda con reles (Domotica)


tengo el siguiente codigo cargado:

#include <spi.h>
#include <client.h>
#include <ethernet.h>
#include <server.h>
#include <udp.h>

// enter mac address , ip address controller below.
// ip address dependent on local network:
byte mac[] = { 0xde, 0xad, 0xbe, 0xef, 0xfe, 0xed };
ipaddress ip(192,168,1, 177);

// initialize ethernet server library
// ip address , port want use
// (port 80 default http):
ethernetserver server(80);
int pinled1= 3; //esto sera actuador 1 en algun momento
int pinled2= 4; //esto sera actuador 2 en algun momento
//int entrada1= 5;
//int entrada2=6;
string readstring = string(30);


void setup()
{
  // start ethernet connection , server:
  ethernet.begin(mac, ip);
  server.begin();
  pinmode(pinled1,output);
  pinmode(pinled2,output);
  //pinmode(entrada1,input);
  //pinmode(entrada2,input);
}

void loop()
{
  // listen incoming clients
  ethernetclient client = server.available();
  if (client) {
    // http request ends blank line
    boolean currentlineisblank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        if (readstring.length()<30) //leer peticion http caracter por caracter
        {
          readstring += c;
        }
        if (c=='\n') //si la peticion http ha finalizado
        {
          //determinar lo que se recibe mediante para encender el led o apagarlo
          if(readstring.indexof("led1=on")>0){
            digitalwrite(pinled1,high);
          }
          if(readstring.indexof("led1=off")>0){
            digitalwrite(pinled1,low);
          }
          if(readstring.indexof("led2=on")>0){
            digitalwrite(pinled2,high);
          }
          if(readstring.indexof("led2=off")>0){
            digitalwrite(pinled2,low);
          }

          readstring=""; //vaciar el string que se uso para la lectura
          //enviar cabecera http estandar

          client.println("http/1.1 200 ok");
          client.println("content-type: text/html");
          client.println();

          //crear pagina web html

          client.println("<html>");
          client.println("<head>");
          client.println("<title>centro de control domestico 1.0</title>");
          client.println("</head>");
          client.println("<body>");
          client.println("<h1>centro de control domestico 1.0</h1>");
          client.println("<hr><br>");
          client.println("<h3>encendido/apagado de instrumentos</h3>");
          client.println("<hr><br>");
          client.println("<table>");
          client.println("<tr><td>led 1</td><td>led 2</td></tr>");
          client.println("<tr><td><form method=get><input type=submit name=led1 value=on></form></td><td><form method=get><input type=submit name=led2 value=on></form></td></tr>");
          client.println("<tr><td><form method=get><input type=submit name=led1 value=off></form></td><td><form method=get><input type=submit name=led2 value=off></form></td></tr>");
          client.println("</table>");
          client.println("<hr><br>");
          client.println("<h3>lectura de sensores</h3>");
          client.println("</body>");
          client.println("</html>");



          client.stop();

        }
      }
    }
  }
}


cuando enchufo el arduino se encienden todos los relees lo cual es un problema si se me va la luz y vuelve ya que toda la casa empezaria funcionar. pido ayuda para editar el codigo y no tener ese  problema

luego en la parte de sensores me gustaria poner un lr 36 y poderlo ver des de la pagina web.

si alguien sabe como hacerlo que me lo explique porfabor.

gracias.  :-*  :-*

agrega en el setup esta instrucción por cada relé

code: [select]

digitalwrite(pinled1,low);
digitalwrite(pinled2,low);


Arduino Forum > International > Español > Hardware (Moderators: surbyte, Hector_A) > Ayuda con reles (Domotica)


arduino

Comments