Go Down

Topic: Impostare orari - dubbi (Read 486 times) previous topic - next topic

-d0b-

Apr 17, 2015, 10:21 am Last Edit: Apr 17, 2015, 10:30 am by -d0b-
Code: [Select]
// ************************************************************************************************
//*****   Operazioni dei Relè
// ************************************************************************************************          

//*****   azioni luce accesa

             //   l'impianto si accende alle 15 e si spegne alle 9

   if ((now.hour() <= 9 && now.minute() == 5) || (now.hour() >= 15 && now.minute() == 1)) {
 
      if ((Temp  >= tMAX) || (Umid >= hMAX)) {digitalWrite(relay1, HIGH);}    // accensione aspiratore
      else if ((Temp <= tMIN) || (Umid <= hMIN+10)) {digitalWrite(relay1, LOW);}   // spegnimento aspiratore
          
      if (Temp <= tMIN) {digitalWrite(relay3, HIGH);}   // accensione stufa
      else if (Temp >= tMAX - 1) {digitalWrite(relay3, LOW);}   // spegnimento stufa    
  

  
      digitalWrite(relay2, HIGH);

      
      if (now.minute() >= 10 && now.minute() <= 15){
      digitalWrite(relay1, HIGH);}
      
      if (now.minute() >= 40 && now.minute() <= 45){
      digitalWrite(relay1, HIGH);}
  }
    
    
 //*****   azioni luce spenta
 
 if ((now.hour() >= 9 && now.minute() == 10) && (now.hour() <= 14 && now.minute() == 59)){
          
      if ((Temp >= tNOTTEmax) || (Umid >= hMAX)) {digitalWrite(relay1, HIGH);}    // accensione aspiratore
      else if ((Temp <= tNOTTEmin) || (Umid <= hMIN + 10)) {digitalWrite(relay1, LOW);}   // spegnimento aspiratore
          
      if (Temp <= tNOTTEmin) {digitalWrite(relay3, HIGH);}   // accensione stufa
      else if (Temp >= tNOTTEmax - 1) {digitalWrite(relay3, LOW);}   // spegnimento stufa          
        
      
      if (now.minute() >= 10 && now.minute() <= 15){
      digitalWrite(relay1, HIGH);}
      
      if (now.minute() >= 30 && now.minute() <= 50){
      digitalWrite(relay2, HIGH);}  
    }


//*****   indipendenti luce
      
      if (Umid <= hMIN) {
        digitalWrite(relay4, HIGH);}   // accensione umidificatore
      else if (Umid >= hMAX) {
        digitalWrite(relay4, LOW);}   // spegmiento umidificatore
        
      
    
}  


questa è la parte void loop dello sketch da me scrito... in fase di compilazione non da nessun tipo di errore , ma non sono convinto del suo corretto funzionamento.... infatti ho grossi dubbi sul rispetto degli orari impostati:

Code: [Select]

////////////  qui si definiscono le temperature e vari settaggi                                                                                                                                        
    int tMAX = 26;                                        
    int tMIN = 23;                                    
                                                      
    int tNOTTEmax = 18;                              
    int tNOTTEmin = 16;                            
                                                  
    int hMAX = 60;                                
    int hMIN = 40;  

/////////////////////////////////////////////////////////                            
                                                



// ************************************************
//*****   librerie
// ************************************************
#include <Wire.h>  
#include "DHT.h"

#include "RTClib.h"  
RTC_DS1307 RTC;



Code: [Select]
//   l'impianto si accende alle 15 del pomeriggio e si spegne alle 9 del mattino

   if ((now.hour() <= 9 && now.minute() == 5) || (now.hour() >= 15 && now.minute() == 1)) {



Code: [Select]
//*****   azioni luce spenta, dalle 9 del mattino fino alle 15 del pomeriggio
 
 if ((now.hour() >= 9 && now.minute() == 10) && (now.hour() <= 14 && now.minute() == 59)){


come intuibile l'impianto tra le 15 del pomeriggio e le 9 del mattino si attiva rispettando determinate temperature; mentre tra le 9 e le 15 deve mantenere altre temperature.....

insomma secondo voi è giusto com'è scritto?

Go Up