aiuto come commandare un rele da web server arduino

Buongiorno ho un arduino 2560 con wiznet 5100, vorrei comandare un rele da web server.
 Riesco a vedere la pagina via web e anche i comandi per accendere e spegnere il relè, ma quando schiaccio dice off ma in verita non si accende e manco si spegne come posso fare? ho usato questo: 

http://ismanettoneblog.altervista.org/blog/lezione-14-come-accendere-lampada-remoto-arduino/

questo è il mio codice: 
#include <Time.h>
#include <DS3232RTC.h>
#include <PCF8574_HD44780_I2C.h>
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <RTClib.h>
#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:

byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

IPAddress ip( 192,168,1,6 );
IPAddress gateway( 192,168,1,1 );
IPAddress subnet( 255,255,255,0 );

EthernetServer server(80);



PCF8574_HD44780_I2C lcd(0x3F, 20, 4);

int oraAlba = 9;
int minAlba = 10;
long albas;
int durataAlbas = 720;
int oraTramonto = 17;
int minTramonto = 10;
long tramontos;
int durataTramontos = 720;
long nows;
int delayR = 0;
int delayG = 120;
int delayB = 240;
int delayUV = 360;
int delayW = 360;

int pinR = 2;
int pinG = 3;
int pinB = 4;
int pinW = 5;
int pinUV = 6;

//rele
float rele1 = 35;
float rele2 = 37;
int   rele3 = 39; 
int rele4 = 41;
int rele5 = 43;
int rele6 = 45;

char buffer1[20];
char buffer2[20];

float riscaldatore = 22.0; // allerta temperatura acqua bassa 
float alertacqua = 27.0; // ventola tangenziale
float alertplafo = 44.0;  // alerta plafoniera temperatura troppo alta 
float tempSoglia = 38.0; //temperatura ventole plafo 

#define ONE_WIRE_BUS 7
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress tmp_address;
float temp0=0;
float temp1=0;
int numberOfDevices;

#define VENTOLA 35
#define TANG 37
#define SKIM 39
#define PUMP 41
#define NOTTE 43
#define RISC 45

void setup()
{



Serial.begin(9600);
  
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }

  setSyncProvider(RTC.get);   // the function to get the time from the RTC
    if(timeStatus() != timeSet) 
        Serial.println("Unable to sync with the RTC");
    else
        Serial.println("RTC has set the system time");      

  lcd.init();           // LCD Initialization
  lcd.backlight( );      // Backlight ON
  lcd.clear();          // Clear the display

  numberOfDevices = 1;

  // start the Ethernet connection and the server:
  Ethernet.begin(mac, ip);
  server.begin();
  Serial.print("server is at ");
  Serial.println(Ethernet.localIP());
  
  Wire.begin();

  sensors.begin();

  pinMode(pinR, OUTPUT);
  pinMode(pinG, OUTPUT);
  pinMode(pinB, OUTPUT);
  pinMode(pinW, OUTPUT);
  pinMode(pinUV, OUTPUT);

  pinMode(rele1, OUTPUT);
  pinMode(rele2, OUTPUT);
  pinMode(rele3, OUTPUT);
  pinMode(rele4, OUTPUT);
  pinMode(rele5, OUTPUT);
  
  pinMode(VENTOLA, OUTPUT);
  pinMode(TANG, OUTPUT);
  
  pinMode(RISC, OUTPUT);
  pinMode(SKIM, OUTPUT);
  pinMode(PUMP, OUTPUT);
  pinMode(NOTTE, OUTPUT);
  
  digitalWrite( rele1, LOW);
  digitalWrite( rele2, LOW);
  digitalWrite( rele3, LOW );
  digitalWrite( rele4, LOW );
  digitalWrite(rele5, LOW);
  

delay(3000);

}

#include <Time.h>
#include <DS3232RTC.h>
#include <PCF8574_HD44780_I2C.h>
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <RTClib.h>
#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:

byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

IPAddress ip( 192,168,1,6 );
IPAddress gateway( 192,168,1,1 );
IPAddress subnet( 255,255,255,0 );

EthernetServer server(80);



PCF8574_HD44780_I2C lcd(0x3F, 20, 4);

int oraAlba = 9;
int minAlba = 10;
long albas;
int durataAlbas = 720;
int oraTramonto = 17;
int minTramonto = 10;
long tramontos;
int durataTramontos = 720;
long nows;
int delayR = 0;
int delayG = 120;
int delayB = 240;
int delayUV = 360;
int delayW = 360;

int pinR = 2;
int pinG = 3;
int pinB = 4;
int pinW = 5;
int pinUV = 6;

//rele
float rele1 = 35;
float rele2 = 37;
int   rele3 = 39; 
int rele4 = 41;
int rele5 = 43;
int rele6 = 45;

char buffer1[20];
char buffer2[20];

float riscaldatore = 22.0; // allerta temperatura acqua bassa 
float alertacqua = 27.0; // ventola tangenziale
float alertplafo = 44.0;  // alerta plafoniera temperatura troppo alta 
float tempSoglia = 38.0; //temperatura ventole plafo 

#define ONE_WIRE_BUS 7
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress tmp_address;
float temp0=0;
float temp1=0;
int numberOfDevices;

#define VENTOLA 35
#define TANG 37
#define SKIM 39
#define PUMP 41
#define NOTTE 43
#define RISC 45

void setup()
{



Serial.begin(9600);
  
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }

  setSyncProvider(RTC.get);   // the function to get the time from the RTC
    if(timeStatus() != timeSet) 
        Serial.println("Unable to sync with the RTC");
    else
        Serial.println("RTC has set the system time");      

  lcd.init();           // LCD Initialization
  lcd.backlight( );      // Backlight ON
  lcd.clear();          // Clear the display

  numberOfDevices = 1;

  // start the Ethernet connection and the server:
  Ethernet.begin(mac, ip);
  server.begin();
  Serial.print("server is at ");
  Serial.println(Ethernet.localIP());
  
  Wire.begin();

  sensors.begin();

  pinMode(pinR, OUTPUT);
  pinMode(pinG, OUTPUT);
  pinMode(pinB, OUTPUT);
  pinMode(pinW, OUTPUT);
  pinMode(pinUV, OUTPUT);

  pinMode(rele1, OUTPUT);
  pinMode(rele2, OUTPUT);
  pinMode(rele3, OUTPUT);
  pinMode(rele4, OUTPUT);
  pinMode(rele5, OUTPUT);
  
  pinMode(VENTOLA, OUTPUT);
  pinMode(TANG, OUTPUT);
  
  pinMode(RISC, OUTPUT);
  pinMode(SKIM, OUTPUT);
  pinMode(PUMP, OUTPUT);
  pinMode(NOTTE, OUTPUT);
  
  digitalWrite( rele1, LOW);
  digitalWrite( rele2, LOW);
  digitalWrite( rele3, LOW );
  digitalWrite( rele4, LOW );
  digitalWrite(rele5, LOW);
  

delay(3000);

}

void loop() 
{

    if (millis() > 500000)
    {
    digitalWrite(SKIM, HIGH);
    }
  
  
 
  
  
  
  //ethernet
   
   // listen for incoming clients
  EthernetClient client = server.available();
  if (client) {
    Serial.println("new client");
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) 
    {
      if (client.available()) 
      {
        char c = client.read();
        Serial.print(c);
        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        
        if (c == '\n') 
         
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("ARDUINO");
          client.println();

           client.println("<meta charset=UTF-8>"); // serve per inserire i caretteri speciali
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
          client.println("<head> <TITLE>Arduino</TITLE> </head>"); // Viene creato il Titolo
          client.println("<body> <h1> Benvenuto nel Webserver Arduino </h1>"); // Viene inserito del testo
          client.println("<h3> Attraverso questa pagina è possibile accendere e spegnere un LED </h3>");
          client.println("</body>");
          client.println("</html>");

 break;
        }
        if (c == '\n') {
          currentLineIsBlank = true;
        }
        else if (c != '\r') {
          currentLineIsBlank = false;
        }
      }
    }



client.print(now.day(), DEC);

          client.print('/');

          client.print(now.month(), DEC);

          client.print('/');

          client.print(now.year(), DEC);

          client.print(' ');

          client.print(now.hour(), DEC);

          client.print(':');

          client.print(now.minute(), DEC);

          client.println("  ");

          client.print("pagina di marco");

          client.println(" ");
          
          client.print("acqua");
           client.println(" ");
           client.print(temp0);
          
          client.println(" ");
          
          client.println("plafo"); 
          
                  
          client.print(temp1);

Ma cosa diavolo hai postato ?? Ci sono, pare, due programmi, 2 setup, linee che seguono l'ultima graffa messe a cavolo. :o E poi dicci quali sono i sensori collegati.

Hai una Arduino Leonardo ? No, parli di Mega2650, allora perchè lasci questo pezzo, c'e' pure scritto.

while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }

ah quindi devo togliere la riga del Leonardo e poi? quali sono i due errori del setup che non capisco ?

Ci prendi in giro ? Hai controllato cosa hai postato ? :confused:

Un programma per Arduino inizia con le eventuali #include, poi dichiari variabili, poi UNA sola volta la setup() e poi UNA sola volta la loop() Tu hai ben due setup() e inoltre alla fine della loop() ci sono delle righe messe a ca...so :o

ho sbagliato a copiare ora rimetto il codice giusto scusate

Prima di postarlo, usa CTRL+T nell'IDE, lo indenta un pò meglio. :)

#include <Time.h>
#include <DS3232RTC.h>
#include <PCF8574_HD44780_I2C.h>
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <RTClib.h>
#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:

byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

IPAddress ip( 192,168,1,6 );
IPAddress gateway( 192,168,1,1 );
IPAddress subnet( 255,255,255,0 );

EthernetServer server(80);



PCF8574_HD44780_I2C lcd(0x3F, 20, 4);

int oraAlba = 9;
int minAlba = 10;
long albas;
int durataAlbas = 720;
int oraTramonto = 17;
int minTramonto = 10;
long tramontos;
int durataTramontos = 720;
long nows;
int delayR = 0;
int delayG = 120;
int delayB = 240;
int delayUV = 360;
int delayW = 360;

int pinR = 2;
int pinG = 3;
int pinB = 4;
int pinW = 5;
int pinUV = 6;

//rele
float rele1 = 35;
float rele2 = 37;
int   rele3 = 39; 
int rele4 = 41;
int rele5 = 43;
int rele6 = 45;

char buffer1[20];
char buffer2[20];

float riscaldatore = 22.0; // allerta temperatura acqua bassa 
float alertacqua = 27.0; // ventola tangenziale
float alertplafo = 44.0;  // alerta plafoniera temperatura troppo alta 
float tempSoglia = 38.0; //temperatura ventole plafo 

#define ONE_WIRE_BUS 7
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress tmp_address;
float temp0=0;
float temp1=0;
int numberOfDevices;

#define VENTOLA 35
#define TANG 37
#define SKIM 39
#define PUMP 41
#define NOTTE 43
#define RISC 45

void setup()
{



Serial.begin(9600);
  
setSyncProvider(RTC.get);   // the function to get the time from the RTC
    if(timeStatus() != timeSet) 
        Serial.println("Unable to sync with the RTC");
    else
        Serial.println("RTC has set the system time");      

  lcd.init();           // LCD Initialization
  lcd.backlight( );      // Backlight ON
  lcd.clear();          // Clear the display

  numberOfDevices = 1;

  // start the Ethernet connection and the server:
  Ethernet.begin(mac, ip);
  server.begin();
  Serial.print("server is at ");
  Serial.println(Ethernet.localIP());
  
  Wire.begin();

  sensors.begin();

  pinMode(pinR, OUTPUT);
  pinMode(pinG, OUTPUT);
  pinMode(pinB, OUTPUT);
  pinMode(pinW, OUTPUT);
  pinMode(pinUV, OUTPUT);

  pinMode(rele1, OUTPUT);
  pinMode(rele2, OUTPUT);
  pinMode(rele3, OUTPUT);
  pinMode(rele4, OUTPUT);
  pinMode(rele5, OUTPUT);
  
  pinMode(VENTOLA, OUTPUT);
  pinMode(TANG, OUTPUT);
  
  pinMode(RISC, OUTPUT);
  pinMode(SKIM, OUTPUT);
  pinMode(PUMP, OUTPUT);
  pinMode(NOTTE, OUTPUT);
  
  digitalWrite( rele1, LOW);
  digitalWrite( rele2, LOW);
  digitalWrite( rele3, LOW );
  digitalWrite( rele4, LOW );
  digitalWrite(rele5, LOW);
  

delay(3000);

}

void loop() 
{

    if (millis() > 500000)
    {
    digitalWrite(SKIM, HIGH);
    }
  
//ethernet
   
   // listen for incoming clients
  EthernetClient client = server.available();
  if (client) {
    Serial.println("new client");
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) 
    {
      if (client.available()) 
      {
        char c = client.read();
        Serial.print(c);
        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        
        if (c == '\n') 
         
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("ARDUINO");
          client.println();

           client.println("<meta charset=UTF-8>"); // serve per inserire i caretteri speciali
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
          client.println("<head> <TITLE>Arduino</TITLE> </head>"); // Viene creato il Titolo
          client.println("<body> <h1> Benvenuto nel Webserver Arduino </h1>"); // Viene inserito del testo
          client.println("<h3> Attraverso questa pagina è possibile accendere e spegnere un LED </h3>");
          client.println("</body>");
          client.println("</html>");

 break;
        }
        if (c == '\n') {
          currentLineIsBlank = true;
        }
        else if (c != '\r') {
          currentLineIsBlank = false;
        }
      }
    }



client.print(now.day(), DEC);

          client.print('/');

          client.print(now.month(), DEC);

          client.print('/');

          client.print(now.year(), DEC);

          client.print(' ');

          client.print(now.hour(), DEC);

          client.print(':');

          client.print(now.minute(), DEC);

          client.println("  ");

          client.print("pagina di marco");

          client.println(" ");
          
          client.print("acqua");
           client.println(" ");
           client.print(temp0);
          
             client.println("plafo"); 
          
                  
          client.print(temp1);



client.println(" ");
          // Se l'utente ha premuto l'icona per accendere il LED
    if(postText.indexOf("?on") >0){
          digitalWrite(pinLED,HIGH);
          Serial.println("Accendi LED");
          acceso = true;
        }
     // Se l'utente ha premuto l'icona per spegnere il LED
     if(postText.indexOf("?off") >0 ){
       digitalWrite(pinLED,LOW);
        Serial.println("Spegni LED");
        acceso = false;
       }
      // Viene cambiata la pagina WEB a seconda che il LED sia spento, oppure acceso
      if(acceso){
          client.println("<a href=\"./?off\"> <img src = \"http://ismanettoneblog.altervista.org/blog/wp-content/uploads/2014/03/led-red.png\"alt = \"Spegni\" ></a>");
          client.println("<h3> Il LED è accesa </h3>");
        }else{
          client.println("<a href=\"./?on\"> <img src = \"http://ismanettoneblog.altervista.org/blog/wp-content/uploads/2014/03/led-green.png\"alt = \"Accendi\" ></a>");
          client.println("<h3> Il LED è spento </h3>");
          }   
    delay(1);
    // Viene chiusta la connessione
    client.stop();
    Serial.println("client disconnected");
  }
}

spero che ora si capisca

Impossibile che ti funzioni, anzi non compila neppure.
Il led che vuoi pilotare fai digitalWrite(pinLED,HIGH) ma pinLED NON esiste nel codice ed inoltre non lo setti nella setup() come pin di output con la pinMode

Bel macello stai facendo. Metti cose a caso ? Un fracco di librerie, variabili che non vengono usate.
Poi dei pezzi che non hanno senso:

if (millis() > 500000)

Questa ha senso solo come differenza di un tempo di una millis() memorizzata in precedenza (vedi esempio BlinkWithoutDelay) usata così funziona solo una volta da quando resetti l’Arduino. Millis parte da zero e va avanti all’infinito. A meno che non resetti l’Arduino.

infatti io li ho cambiati con rele 5 e rele 6 che sono quelli che mi interessano

#include <Time.h>
#include <DS3232RTC.h>
#include <PCF8574_HD44780_I2C.h>
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <RTClib.h>
#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:

byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

IPAddress ip( 192, 168, 1, 6 );
IPAddress gateway( 192, 168, 1, 1 );
IPAddress subnet( 255, 255, 255, 0 );

EthernetServer server(80);

//RTC_Millis RTC;

//RTC_DS3231 RTC;

PCF8574_HD44780_I2C lcd(0x3F, 20, 4);

boolean acceso = false;

int oraAlba = 9;
int minAlba = 10;
long albas;
int durataAlbas = 720;
int oraTramonto = 17;
int minTramonto = 10;
long tramontos;
int durataTramontos = 720;
long nows;
int delayR = 0;
int delayG = 120;
int delayB = 240;
int delayUV = 360;
int delayW = 360;

int pinR = 2;
int pinG = 3;
int pinB = 4;
int pinW = 5;
int pinUV = 6;

//rele
float rele1 = 35;
float rele2 = 37;
int   rele3 = 39;
int rele4 = 41;
int rele5 = 43;
int rele6 = 45;

char buffer1[20];
char buffer2[20];

float riscaldatore = 22.0; // allerta temperatura acqua bassa
float alertacqua = 27.0; // ventola tangenziale
float alertplafo = 44.0;  // alerta plafoniera temperatura troppo alta
float tempSoglia = 38.0; //temperatura ventole plafo

#define ONE_WIRE_BUS 7
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress tmp_address;
float temp0 = 0;
float temp1 = 0;
int numberOfDevices;

#define VENTOLA 35
#define TANG 37
#define SKIM 39
#define PUMP 41
#define NOTTE 43
#define RISC 45

void setup()
{



  Serial.begin(9600);

 

  setSyncProvider(RTC.get);   // the function to get the time from the RTC
  if (timeStatus() != timeSet)
    Serial.println("Unable to sync with the RTC");
  else
    Serial.println("RTC has set the system time");

  lcd.init();           // LCD Initialization
  lcd.backlight( );      // Backlight ON
  lcd.clear();          // Clear the display

  numberOfDevices = 1;

  // start the Ethernet connection and the server:
  Ethernet.begin(mac, ip);
  server.begin();
  Serial.print("server is at ");
  Serial.println(Ethernet.localIP());

  Wire.begin();

  sensors.begin();

  pinMode(pinR, OUTPUT);
  pinMode(pinG, OUTPUT);
  pinMode(pinB, OUTPUT);
  pinMode(pinW, OUTPUT);
  pinMode(pinUV, OUTPUT);

  pinMode(rele1, OUTPUT);
  pinMode(rele2, OUTPUT);
  pinMode(rele3, OUTPUT);
  pinMode(rele4, OUTPUT);
  pinMode(rele5, OUTPUT);

  pinMode(VENTOLA, OUTPUT);
  pinMode(TANG, OUTPUT);

  pinMode(RISC, OUTPUT);
  pinMode(SKIM, OUTPUT);
  pinMode(PUMP, OUTPUT);
  pinMode(NOTTE, OUTPUT);

  digitalWrite( rele1, LOW);
  digitalWrite( rele2, LOW);
  digitalWrite( rele3, LOW );
  digitalWrite( rele4, LOW );
  digitalWrite(rele5, LOW);


 delay(3000);

}

void loop()
{

  if (millis() > 500000)
  {
    digitalWrite(SKIM, HIGH);
  }




  // prendo ora attuale
  DateTime now = RTC.get();
  sprintf(buffer1,  "%02d:%02d:%02d", now.hour(), now.minute(), now.second());
  lcd.setCursor(0, 0);
  lcd.print( buffer1 );

  sprintf(buffer2,  "%02d/%02d/%d", now.day(), now.month(), now.year());
  lcd.setCursor(0, 1);
  lcd.print( buffer2 );
  Serial.println(buffer1);
  Serial.println(buffer2);

  // Richiesta temperatura
  sensors.requestTemperatures(); // Comando per misurare la temp.
  temp0 = sensors.getTempCByIndex(0);
  lcd.setCursor(0, 2); // Colonna 0, Riga 0
  lcd.print("acqua:");
  lcd.setCursor (6, 2);
  lcd.print(temp0);

  temp1 = sensors.getTempCByIndex(1);
  lcd.setCursor (0, 3); //Colonna 0, Riga 1
  lcd.print("plafo:");
  lcd.setCursor (6, 3);
  lcd.print(temp1);

  //ethernet

  // listen for incoming clients
  EthernetClient client = server.available();
  if (client) {
    Serial.println("new client");
    // Finisce una richiesta HTTP
    boolean currentLineIsBlank = true;
    String postText ="";
    while (client.connected()){
      if (client.available()){
        char c = client.read();
if(postText.length()<10){
          postText +=c;
        }
        
         Serial.print(c);
         // Se viene completato l'invio della richiesta HTTP, allora il server invia la risposta
        if (c == '\n' && currentLineIsBlank) {
          // Viene fatta una risposta HTTP, in pratica viene creata una pagina WEB in 
          client.println("HTTP/1.1 200 OK");
        client.println("ARDUINO");
        client.println();
        client.println("<meta charset=UTF-8>"); // serve per inserire i caretteri speciali
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
          client.println("<head> <TITLE>Arduino</TITLE> </head>"); // Viene creato il Titolo
          client.println("<body> <h1> Benvenuto nel Webserver Arduino </h1>"); // Viene inserito del testo
          client.println("<h3> Attraverso questa pagina è possibile accendere e spegnere un LED </h3>");
          client.println("</body>");
          client.println("</html>");
          break;
        }
        if (c == '\n') {
          currentLineIsBlank = true;
        }
        else if (c != '\r') {
          currentLineIsBlank = false;
        } 
      }
    
        
        client.print(now.day(), DEC);

        client.print('/');

        client.print(now.month(), DEC);

        client.print('/');

        client.print(now.year(), DEC);

        client.print(' ');

        client.print(now.hour(), DEC);

        client.print(':');

        client.print(now.minute(), DEC);

        client.println("  ");

        client.print("pagina di marco");

        client.println(" ");

        client.print("acqua");
        client.println(" ");
        client.print(temp0);

        client.println(" ");

        client.println("plafo");


        client.print(temp1);

        // Se l'utente ha premuto l'icona per accendere il LED
    if(postText.indexOf("?on") >0){
          digitalWrite(rele5,HIGH);
          Serial.println("Accendi LED");
          acceso = true;
        }
     // Se l'utente ha premuto l'icona per spegnere il LED
     if(postText.indexOf("?off") >0 ){
       digitalWrite(rele5,LOW);
        Serial.println("Spegni LED");
        acceso = false;
       }
      // Viene cambiata la pagina WEB a seconda che il LED sia spento, oppure acceso
      if(acceso){
          client.println("<a href=\"./?off\"> <img src = \"http://ismanettoneblog.altervista.org/blog/wp-content/uploads/2014/03/led-red.png\"alt = \"Spegni\" ></a>");
          client.println("<h3> Il LED è accesa </h3>");
        }else{
          client.println("<a href=\"./?on\"> <img src = \"http://ismanettoneblog.altervista.org/blog/wp-content/uploads/2014/03/led-green.png\"alt = \"Accendi\" ></a>");
          client.println("<h3> Il LED è spento </h3>");
          }   
    delay(1);
    // Viene chiusta la connessione
        
        client.stop();
  }
      }

il millis e per lo skimemr del mioa cquarioche si deve accendere dopo 5 minuti che è ritornata corrente

#include <Time.h>
#include <DS3232RTC.h>
#include <PCF8574_HD44780_I2C.h>
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <RTClib.h>

Ma a cosa serve tutta sta roba? Hai un RTC? Hai un display?? Hai un sensore di temperatura Dallas???

Non mettere codice a caso, cerca di capire almeno vagamente cosa stai facendo :confused:.

la libreria time è per il ds3231,one wire perche ho due sonde di temperatura sullo stesso bus, rtclib serve per il ds3231

Beh, allora hai un po' più di un Arduino e un relé, magari era il caso di dirlo subito...

PS: 5 minuti non sono 500000 millisecondi... E un numero del genere ti conviene scriverlo con UL in fondo, se vuoi che sia gestito correttamente dal compilatore.

mi esce questo :

qui c'e un pallino verde da pèremere

Accendi Il LED è spento

26/10/2015 16:7 pagina di marco acqua 25.44 plafo 39.50, ma schiaccio e non accende ne spegne nulla

dove sbaglio?

ho questa scheda rele cmq spero sia utile per aiutarmi grazie a tutti :

http://it.eachbuyer.com/8-channel-5v-relay-shield-module-for-arduino-dsp-arm-pic-mcu-avr-p31331.html?currency=EUR&from=pla&gclid=CL_6-uWH4cgCFYcSwwodHqMALA

marco3020: dove sbaglio?

Non stai rispondendo alle domande, non stai facendo un passo alla volta ... ti consiglio di ricominciare da capo rispondendo a quello che ti viene chiesto, o non arrivi da nessuna parte ne te ne noi.

Ma a cosa serve tutta sta roba?

1) Hai un RTC?

2)Hai un display??

3)Hai un sensore di temperatura Dallas???

RISPOSTE

1 si ho un ds3231

2) si ho un display 20x4

3) si ho due sensori di temperatura uno per sapere il calore della plafoneira e uno epr sapere l'acqua, spero di esseere stato esaustivo, se avete altre domande fate pure,