alguien podria ayudarme nesesito ayuda pues mi proyecto esta truncado,
entiendo la electronica pero la programacion no se me da nesesito saber que tengo que hacer para insertar otra opcion de botones y que encienda digamos otro pin digamos el 9 con este codigo ya enciende el pin 8 con opcion de ON o OFF pero quiero agregar otro pin digamos el 9 con sus respectivas opciones ON Y OFF , alguna ayuda ?
de ante mano gracias .
aqui esta el codigo.
#include <SPI.h>
#include <Ethernet.h>
//Declaración de la direcciones MAC e IP. También del puerto 80
byte mac[]={0x00,0x22,0x48,0x9f,0xe2,0x3d}; //MAC
IPAddress ip(192,168,1,80); //IP
EthernetServer servidor(80);
int PIN_LED=8;
String readString=String(30);
String state=String(3);
void setup()
{
Ethernet.begin(mac,ip); //Inicializamos con las direcciones asignadas
servidor.begin();
pinMode(PIN_LED,OUTPUT);
digitalWrite(PIN_LED,HIGH);
state="OFF";
}
void loop()
{
EthernetClient cliente= servidor.available();
if(cliente)
{
boolean lineaenblanco=true;
while(cliente.connected())//Cliente conectado
{
if(cliente.available())
{
char c=cliente.read();
if(readString.length()<30)//Leemos petición HTTP caracter a caracter
{
readString.concat(c); //Almacenar los caracteres en la variable readString
}
if(c=='\n' && lineaenblanco)//Si la petición HTTP ha finalizado
{
int LED = readString.indexOf("LED=");
if(readString.substring(LED,LED+5)=="LED=T")
{
digitalWrite(PIN_LED,LOW);
state="ON";
} else if (readString.substring(LED,LED+5)=="LED=F")
{
digitalWrite(PIN_LED,HIGH);
state="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>LAMPARA ON/OFF</title>");
cliente.println("</head>");
cliente.println("<body width=100% height=100%>");
cliente.println("<center>");
cliente.println("<h1>LAMPARA ON/OFF</h1>");
cliente.print("
");
cliente.print("Estado de la lampara: ");
cliente.print(state);
cliente.print("
");
cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=T\'>");
cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=F\'>");
cliente.println("</center>");
cliente.println("</body>");
cliente.println("</html>");
cliente.stop();//Cierro conexión con el cliente
readString="";
}
}
}
}
}
con tu codigo pude obtener un avance tenia unos errores de viñetas pero ya lo arregele ya funciona pero aun no me hace la funcion en el momento que ejecuto un boton se me traba el arduino parese que sufre de overflow pues enciende el led de resivido y se reinicia el arduino .un bucle infinito se origino en el codifo pongo el codigo y un screen para que vean el html .
#include <SPI.h>
#include <Ethernet.h>
//Declaración de la direcciones MAC e IP. También del puerto 80
byte mac[]={0x00,0x22,0x48,0x9f,0xe2,0x3d}; //MAC
IPAddress ip(192,168,1,80); //IP
EthernetServer servidor(80);
int PIN_LED=8;
int PIN_LED2= 9;
String readString=String(30);
String state=String(3);
String state2=String(3);
void setup()
{
Ethernet.begin(mac,ip); //Inicializamos con las direcciones asignadas
servidor.begin();
pinMode(PIN_LED,OUTPUT);
pinMode(PIN_LED2,OUTPUT);
digitalWrite(PIN_LED,HIGH);
digitalWrite(PIN_LED2,HIGH);
state="OFF";
state2="OFF";
}
void loop()
{
EthernetClient cliente= servidor.available();
if(cliente)
{
boolean lineaenblanco=true;
while(cliente.connected())//Cliente conectado
{
if(cliente.available())
{
char c=cliente.read();
if(readString.length()<30)
{//Leemos petición HTTP caracter a caracter
readString.concat(c); //Almacenar los caracteres en la variable readString
}
if(c=='\n' && lineaenblanco) //Si la petición HTTP ha finalizado
{
int LED = readString.indexOf("LED=");
if(readString.substring(LED,LED+5)=="LED=T")
{
digitalWrite(PIN_LED,LOW);
state="ON";
} else if (readString.substring(LED,LED+5)=="LED=F")
{
digitalWrite(PIN_LED,HIGH);
state="OFF";
}
int LED2 = readString.indexOf("LED2=");
if(readString.substring(LED2,LED2+5)=="LED2=T"){
digitalWrite(PIN_LED2,LOW);
state2="ON";
} else if (readString.substring(LED2,LED2+5)=="LED2=F")
{
digitalWrite(PIN_LED2,HIGH);
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>LAMPARA ON/OFF</title>");
cliente.println("</head>");
cliente.println("<body width=100% height=100%>");
cliente.println("<center>");
cliente.println("<h1>LAMPARA ON/OFF</h1>");
cliente.print("
");
cliente.print("Estado del pin 8: ");
cliente.print(state);
cliente.print("
");
cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=T\'>");
cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=F\'>");
cliente.print("
");
cliente.print("Estado del pin 9: ");
cliente.print(state2);
cliente.print("
");
cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED2=T\'>");
cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED2=F\'>");
cliente.println("</center>");
cliente.println("</body>");
cliente.println("</html>");
cliente.stop();//Cierro conexión con el cliente
readString="";
}
}
}
}
}