salve a tutti sto cercando di realizzare un progetto per gli esami e sono arrivato a un punto che non riesco andare avanti.. ho realizzato uno sketch che comanda due led da remoto e verifica la temperatura se essa sale sopra i 28 gradi parte una ventola.. e al di sotto la ventola si spegne o resta spenta fin qui tutto bene sono riuscito a far tutto.. ora vorrei inserire un rtc ds1307 e creare un log sulla sd con ora data e temperatura convertita...e postare lo stesso log sulla pagina(per farvi capire dentro la textarea che ho gia preparato...) il problema e che appena ci provo mi si impianta tutto sia la pagina html che il log non va piu niente la pagina non risulta disponibile e il log non funziona.... potete aiutarmi e urgente ho poco tempo :((
questo e lo sketch che funziona senza log...
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { mio mac }; //mac ethernet shield
byte ip[] = { 192,168,1,2 }; // indirizzo ip che verrà assegnato ad arduino
EthernetServer server(80); // porta di comunicazione
String readString;
byte led_1 = 2;
byte led_2 = 3;
int inPin = A0;
int fun=5;
float temp = 0; // variabile temperatura
int funfunction=0;
void setup()
{
Ethernet.begin(mac, ip);
pinMode(led_1, OUTPUT);
pinMode(led_2, OUTPUT);
pinMode(5, OUTPUT); // pin per la ventola
Serial.begin(9600);
}
void loop(){
usefun();
temp = ( (5.0 * analogRead(inPin)*100.0) / 1023.0);
Serial.println(analogRead(inPin));
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) {
if(readString.indexOf("on_1") > 0)digitalWrite(led_1, HIGH);
if(readString.indexOf("off_1") > 0) digitalWrite(led_1, LOW);
if(readString.indexOf("on_2") > 0) digitalWrite(led_2, HIGH);
if(readString.indexOf("off_2") > 0) digitalWrite(led_2, LOW);
// PAGINA HTML
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.print("<body style='background-color:green'>");
client.print("<html><head><title>Controllo Serra Arduino</title><meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' ></head><body>");
client.print("<font color='white'><h1 align='center'> Pagina di controllo </h1></font>");
client.print("
");
client.print("<table border='1'align='center'>");
client.print("<tr>");
client.print("<td align='center'>");
client.print("<strong>Led 1</strong>");
client.print("</td>");
client.print("<td align='center'>");
if (digitalRead(led_1)== true) client.print("<input disabled=\"disabled\" maxLength=\"55\" size=\"10\" value=\"ON\" STYLE=\"background-color:#00FF00\"/>");
else client.print("<input disabled=\"disabled\" maxLength=\"55\" size=\"10\" value=\"OFF\" STYLE=\"background-color:#FF0000\"/>");
client.print("</td>");
client.print("<td align='center'>");
client.print("<strong >Log temperatura</strong>");
client.print("</td>");
client.print("</tr>");
client.print("<tr>");
client.print("<td>");
client.print("<input type=\"button\" style=\"width:100px; height:55px\" value=\"On\" onclick =\" location.href='/?on_1'\">");
client.print("</td>");
client.print("<td>");
client.print("<input type=\"button\" style=\"width:100px; height:55px\" value=\"Off\" onclick =\" location.href='/?off_1'\">");
client.print("</td>");
client.print("<td rowspan='5'>");
client.print("<textarea readonly style=\"width:300px; height:200px\" >");
client.print("</textarea>");
client.print("</td>");
client.print("</tr>");
client.print("<tr>");
client.print("<td align='center'>");
client.print("<strong>Led 2</strong>");
client.print("</td>");
client.print("<td align='center'>");
if (digitalRead(led_2)== true) client.print("<input disabled=\"disabled\" maxLength=\"55\" size=\"10\" value=\"ON\" STYLE=\"background-color:#00FF00\"/>");
else client.print("<input disabled=\"disabled\" maxLength=\"55\" size=\"10\" value=\"OFF\" STYLE=\"background-color:#FF0000\"/>");
client.print("</td>");
client.print("</tr>");
client.print("<tr>");
client.print("<td>");
client.print("<input type=\"button\" style=\"width:100px; height:55px\" value=\"On\" onclick =\" location.href='/?on_2'\">");
client.print("</td>");
client.print("<td>");
client.print("<input type=\"button\" style=\"width:100px; height:55px\" value=\"Off\" onclick =\" location.href='/?off_2'\">");
client.print("</td>");
client.print("</tr>");
client.print("<tr>");
client.print("<td align='center'>");
client.print("<strong>Stato Ventola</strong>");
client.print("</td>");
client.print("<td td align='center'>");
if( temp >28) client.print ("<input disabled=\"disabled\" maxLength=\"55\" size=\"10\" value=\"ON\" STYLE=\"background-color:#00FF00\"/>");
else client.print("<input disabled=\"disabled\" maxLength=\"55\" size=\"10\" value=\"OFF\" STYLE=\"background-color:#FF0000\"/>");
client.print("</td>");
client.print("</tr>");
client.print("<tr>");
client.print("<td align='center'>");
client.print("<strong>Temperatura</strong>");
client.print("</td>");
client.print("<td align='center'>");
client.print("<textarea readonly cols='12' row='2' style='overflow:hidden;'>");
client.print( temp);
client.print("</textarea>");
client.print("</td>");
client.print("</tr>");
client.print("</table>");
readString="";
delay(1);
client.flush();
client.stop();
}
}
}
}
}
void usefun(){
if(( temp = (( 5.0 * analogRead(inPin)*100.0 )/ 1023.0)>28)&&(funfunction==0))
{
funfunction=1;
digitalWrite(fun,HIGH);
}
if(( temp = (( 5.0 * analogRead(inPin)*100.0 )/ 1023.0)<=28)&&(funfunction==1))
{
funfunction=0;
digitalWrite(fun,LOW);
}
}