Ciao a tutti volevo sottoporvi ad un problema in quanto mi sta dando numerosi problemi.
Allora ho una scheda relè costruita da me con 6 relè che accendono un led. La mia idea è quella di controllare i singoli relè quindi accendere i led da pagina web usando arduino.
Lo sketch usato da me funziona fino a 4 relè poi quando vado ad aggiungere l'utilizzo di un quinto relè smette di funzionare. credo sia un problema di interazione tra html e arduino..volevo sapere come posso risolvere. Ecco il mio sketch
grazie
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 1, 252 };
EthernetServer server(80);
String readString;
byte out_1 = 2;
byte out_2 = 3;
byte out_3 = 4;
byte out_4 = 5;
//byte out_5 = 6;
void setup()
{
Ethernet.begin(mac, ip);
pinMode(out_1, OUTPUT);
pinMode(out_2, OUTPUT);
pinMode(out_3, OUTPUT);
pinMode(out_4, OUTPUT);
//pinMode(out_5, OUTPUT);
// Serial.begin(9600);
}
void loop(){
EthernetClient client = server.available();
if (client) {
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
readString.concat(c);
if (c == '\n' && currentLineIsBlank) {
//Serial.print(readString);
if(readString.indexOf("on_1") > 0) digitalWrite(out_1, HIGH);
if(readString.indexOf("off_1") > 0) digitalWrite(out_1, LOW);
if(readString.indexOf("on_2") > 0) digitalWrite(out_2, HIGH);
if(readString.indexOf("off_2") > 0) digitalWrite(out_2, LOW);
if(readString.indexOf("on_3") > 0) digitalWrite(out_3, HIGH);
if(readString.indexOf("off_3") > 0) digitalWrite(out_3, LOW);
if(readString.indexOf("on_4") > 0) digitalWrite(out_4, HIGH);
if(readString.indexOf("off_4") > 0) digitalWrite(out_4, LOW);
//if(readString.indexOf("on_5") > 0) digitalWrite(out_5, HIGH);
// if(readString.indexOf("off_5") > 0) digitalWrite(out_5, LOW);
// PAGINA HTML
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.print("<html><head><title>ARDUINO Controllo WEB</title><meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' ></head><body>");
client.print("
");
client.print("<span>STATO LUCE 1 </span>");
if (digitalRead(out_1)== true) client.print("<input disabled=\"disabled\" maxLength=\"50\" size=\"12\" value=\"ON\" STYLE=\"background-color:#00FF00\"/>");
else client.print("<input disabled=\"disabled\" maxLength=\"50\" size=\"12\" value=\"OFF\" STYLE=\"background-color:#C0C0C0\"/>");
client.print("<p><p/>");
client.print("<input type=\"button\" style=\"width:120px; height:80px\" value=\"On\" onclick =\" location.href='/?on_1'\">");
client.print("<input type=\"button\" style=\"width:120px; height:80px\" value=\"Off\" onclick =\" location.href='/?off_1'\">");
client.print("<p><p/>");
client.print("<span>STATO LUCE 2 </span>");
if (digitalRead(out_2)== true) client.print("<input disabled=\"disabled\" maxLength=\"50\" size=\"12\" value=\"ON\" STYLE=\"background-color:#00FF00\"/>");
else client.print("<input disabled=\"disabled\" maxLength=\"50\" size=\"12\" value=\"OFF\" STYLE=\"background-color:#C0C0C0\"/>");
client.print("<p><p/>");
client.print("<input type=\"button\" style=\"width:120px; height:80px\" value=\"On\" onclick =\" location.href='/?on_2'\">");
client.print("<input type=\"button\" style=\"width:120px; height:80px\" value=\"Off\" onclick =\" location.href='/?off_2'\">");
client.print("<p><p/>");
client.print("<span>STATO LUCE 3 </span>");
if (digitalRead(out_3)== true) client.print("<input disabled=\"disabled\" maxLength=\"50\" size=\"12\" value=\"ON\" STYLE=\"background-color:#00FF00\"/>");
else client.print("<input disabled=\"disabled\" maxLength=\"50\" size=\"12\" value=\"OFF\" STYLE=\"background-color:#C0C0C0\"/>");
client.print("<p><p/>");
client.print("<input type=\"button\" style=\"width:120px; height:80px\" value=\"On\" onclick =\" location.href='/?on_3'\">");
client.print("<input type=\"button\" style=\"width:120px; height:80px\" value=\"Off\" onclick =\" location.href='/?off_3'\">");
client.print("<p><p/>");
client.print("<span>STATO LUCE 4 </span>");
if (digitalRead(out_4)== true) client.print("<input disabled=\"disabled\" maxLength=\"50\" size=\"12\" value=\"ON\" STYLE=\"background-color:#00FF00\"/>");
else client.print("<input disabled=\"disabled\" maxLength=\"50\" size=\"12\" value=\"OFF\" STYLE=\"background-color:#C0C0C0\"/>");
client.print("<p><p/>");
client.print("<input type=\"button\" style=\"width:120px; height:80px\" value=\"On\" onclick =\" location.href='/?on_4'\">");
client.print("<input type=\"button\" style=\"width:120px; height:80px\" value=\"Off\" onclick =\" location.href='/?off_4'\">");
client.print("<p><p/>");
/*client.print("<span>STATO LUCE 5 </span>");
if (digitalRead(out_5)== true) client.print("<input disabled=\"disabled\" maxLength=\"50\" size=\"12\" value=\"ON\" STYLE=\"background-color:#00FF00\"/>");
else client.print("<input disabled=\"disabled\" maxLength=\"50\" size=\"12\" value=\"OFF\" STYLE=\"background-color:#C0C0C0\"/>");
client.print("<p><p/>");
client.print("<input type=\"button\" style=\"width:120px; height:80px\" value=\"On\" onclick =\" location.href='/?on_5'\">");
client.print("<input type=\"button\" style=\"width:120px; height:80px\" value=\"Off\" onclick =\" location.href='/?off_5'\">");*/
client.print("<p><p/>");
client.print("</body></html>");
readString="";
delay(1);
client.flush();
client.stop();
}
}
}
}
}
Moderator edit:
</mark> <mark>[code]</mark> <mark>
</mark> <mark>[/code]</mark> <mark>
tags added.