Show Posts
Pages: 1 [2] 3 4 ... 8
16  International / Software / Re: Non riesco a venirne a capo on: November 12, 2012, 06:20:12 am
non so, il tutto mi pare molto strano... ho modificato e riscritto il codice, così le cifre sembrano ritornare, eccolo qui:
Quote
#include <LiquidCrystal.h>
#include <Time.h> 
#include <Wire.h> 
#include <DS1307RTC.h>  // a basic DS1307 library that returns time as a time_t
LiquidCrystal LCD(12,11,5,4,3,2);



void setup()  {
 
 LCD.begin (16,2);
 Serial.begin(9600);
  setSyncProvider(RTC.get);   // comando per ricevere l'ora dall'RTC
   
}

void loop()
{

  LCD.setCursor(0,0);
   digitalClockDisplay(); 
   delay(1000);
   DS1307RTC();
}

void digitalClockDisplay(){
 
  // digital clock display of the time
 
  LCD.print(hour());
  printDigits(minute());
  LCD.setCursor(5,0);
  printDigits(second());
  LCD.print(" ");
  }

void printDigits(int digits){
  // utility function for digital clock display: prints preceding colon and leading 0

 
  LCD.print(":");
  if(digits < 10)
    LCD.print('0');
  LCD.print(digits);
}
void DS1307RTC(){
 
 
   int ledw1=9;//pin linea led bianchi e rb posteriore
   int ledw2=10;//pin linea led bianchi e rb anteriore
   int leduv=6;//pin linea led rossi, verdi, uv
   int dim;
   int ora;
   int oras;
   int moonlight=7;//pin led lunari
   int  time=(hour()*100 + minute());//orario hr,min,sec ridotto in secondi//cambiato da unsigned int a int
   pinMode (ledw1,OUTPUT);
   pinMode (ledw2, OUTPUT);
   pinMode (leduv, OUTPUT);
   pinMode (moonlight,OUTPUT); 
   dim=14;//aumento intensità per ogni step
   ora=1200;//12:30 ora accensione
   oras=2315;//23:15 ora spegnimento
   int x=3;//intervallo in minuti tra un fade e un altro
   LCD.clear();
/*impostazione per l'accensione deiled lunari*/
 
 
  if (time >= 2300 &&  time <= 2359){
    digitalWrite (moonlight, HIGH);
  }
  if (time >= 0 && time <=1245){
    digitalWrite (moonlight, HIGH);
  }
  else{
  digitalWrite (moonlight, LOW);}
 
 /*inizio della fase 'Alba' e aumento graduale dell'intensità dell'illuminazione*/
 
    if ( time >= ora&&time <ora+x)
  {
  analogWrite (ledw1,dim*18);
  analogWrite (ledw2,dim*18);
  analogWrite (leduv, dim*16);
  LCD.setCursor(0,1);
  LCD.print ("Alba 0%");

}

 if (time >= ora+x&&time<ora+x*2)
  {
  analogWrite (ledw1,dim*18);
  analogWrite (ledw2,dim*18);
  analogWrite (leduv, dim*14);
  LCD.setCursor(0,1);
  LCD.print ("Alba 6%");

}

if (time >= ora+x*2&&time < ora+x*3)
  {
  analogWrite (ledw1,dim*18);
  analogWrite (ledw2,dim*16);
  analogWrite (leduv, dim*14);
  LCD.setCursor(0,1);
  LCD.print ("Alba 12%");

}

if (time >= ora+x*3&&time < ora+x*4)
  {
  analogWrite (ledw1,dim*17);
  analogWrite (ledw2,dim*15);
  analogWrite (leduv, dim*13);
  LCD.setCursor(0,1);
  LCD.print ("Alba 18%");

}

if (time >=ora+x*4&&time < ora+x*5)
  {
  analogWrite (ledw1,dim*16);
  analogWrite (ledw2,dim*14);
  analogWrite (leduv, dim*12);
  LCD.setCursor(0,1);
  LCD.print ("Alba 24%");

}

if (time >= ora+x*5&&time < ora+x*6)
  {
  analogWrite (ledw1,dim*15);
  analogWrite (ledw2,dim*13);
  analogWrite (leduv, dim*11);
  LCD.setCursor(0,1);
  LCD.print ("Alba 30%");

}
if (time >= ora+x*6&&time < ora+x*7)
  {
  analogWrite (ledw1,dim*14);
  analogWrite (ledw2,dim*12);
  analogWrite (leduv, dim*10);
  LCD.setCursor(0,1);
  LCD.print ("Alba 36%");

}

if (time >= ora+x*7&&time < ora+x*smiley-cool
  {
  analogWrite (ledw1,dim*13);
  analogWrite (ledw2,dim*11);
  analogWrite (leduv, dim*9);
  LCD.setCursor(0,1);
  LCD.print ("Alba 42%");

}

if (time >= ora+x*8&&time < ora+x*9)
  {
  analogWrite (ledw1,dim*12);
  analogWrite (ledw2,dim*10);
  analogWrite (leduv, dim*smiley-cool;
  LCD.setCursor(0,1);
  LCD.print ("Alba 48%");

}

if (time >= ora+x*9&&time < ora+x*10)
  {
  analogWrite (ledw1,dim*11);
  analogWrite (ledw2,dim*9);
  analogWrite (leduv, dim*7);
  LCD.setCursor(0,1);
  LCD.print ("Alba 54%");

}
if (time >= ora+x*10 && time < ora+x*11)
  {
  analogWrite (ledw1,dim*10);
  analogWrite (ledw2,dim*smiley-cool;
  analogWrite (leduv, dim*6);
  LCD.setCursor(0,1);
  LCD.print ("Alba 60%");

}
if (time >= ora+x*11 && time < ora+x*12)
  {
  analogWrite (ledw1,dim*9);
  analogWrite (ledw2,dim*7);
  analogWrite (leduv, dim*5);
  LCD.setCursor(0,1);
  LCD.print ("Alba 66%");

}

if (time >= ora+x*12 && time < ora+x*13)
  {
  analogWrite (ledw1,dim*smiley-cool;
  analogWrite (ledw2,dim*6);
  analogWrite (leduv, dim*4);
  LCD.setCursor(0,1);
  LCD.print ("Alba 72%");

}
if (time >= ora+x*13 && time < ora+x*14)
  {
  analogWrite (ledw1,dim*7);
  analogWrite (ledw2,dim*5);
  analogWrite (leduv, dim*4);
  LCD.setCursor(0,1);
  LCD.print ("Alba 78%");

}
if (time >= ora+x*14 && time < ora+x*15)
  {
  analogWrite (ledw1,dim*6);
  analogWrite (ledw2,dim*4);
  analogWrite (leduv, dim*4);
  LCD.setCursor(0,1);
  LCD.print ("Alba 84%");

}

if (time >= ora+x*15 && time < ora+x*16)
  {
  analogWrite (ledw1,dim*5);
  analogWrite (ledw2,dim*4);
  analogWrite (leduv, dim*4);
  LCD.setCursor(0,1);
  LCD.print ("Alba 90%");

}
/*fase intermedia 'Giorno' nella quale l'illuminazione viene tenuta al massimo dell'intensità impostata e che va dalla fine dell'alba all'inizio della fase di decremento dell'illuminazione 'Tramonto' */
if (time >= ora+x*16 && time < oras+x)
  {
  analogWrite (ledw1,dim*4);
  analogWrite (ledw2,dim*4);
  analogWrite (leduv, dim*4);
  LCD.setCursor(0,1);
  LCD.print ("Giorno");

}
17  International / Software / Re: Non riesco a venirne a capo on: November 12, 2012, 02:55:52 am
Cavolo Leo, c'avevo pensato, ma comunque (forse stranamente)  con scritto 5,9 e non 5.9 (anche se con il punto non c'ho provato) funziona, mettendo 6 che dovrebbe comunque andare bene, invece sballa mentre dovrebbe andare bene comunque sia perché senza errore di , o . sia perché variabile long
18  International / Software / Re: Non riesco a venirne a capo on: November 11, 2012, 06:06:49 pm
potrebbe davvero essere che Arduino abbia qualche problema?
19  International / Software / Re: Non riesco a venirne a capo on: November 11, 2012, 05:59:12 pm
hour min e sec esatti, quindi se sono le 22:00:00 da 22 se 22:30:45 da 22 30 e 45 quindi i valori sono esatti, ma provando a fare una moltipilcazione, avendo un long quindi il valore ci entra, se fai ad esempio per 4 ti da (nel caso delle 22) 88 ma se moltiplichi per 5 ad es. ti da 150 invece di 110
20  International / Software / Re: Non riesco a venirne a capo on: November 11, 2012, 05:36:52 pm
è possibile che arduino abbia 'problemi' a fare le operazioni?
21  International / Software / Re: Non riesco a venirne a capo on: November 11, 2012, 05:31:48 pm
l'ho fatto ma come dicevo prima, non so perchè, ad esempio facendo ore*3600 + min*60+sec se sono le 22:00:00 dovrebbe venire 79200 invece stampando time su seriale mi da un valore vicino a 15000, ma l'orario segnato sull'lcd è giusto
22  International / Software / Re: Non riesco a venirne a capo on: November 11, 2012, 05:23:08 pm
mi sta venendo un altro dubbio, ma le fasi di alba e tramonto 'funzionano' quindi lì riconoscel'orario....  smiley-roll-sweat
23  International / Software / Re: Non riesco a venirne a capo on: November 11, 2012, 05:04:57 pm
no non è int è long
24  International / Software / Re: Non riesco a venirne a capo on: November 11, 2012, 04:46:25 pm
Code:
if (time >= ora+x*8&&time<ora+x*9)
  {
  analogWrite (ledw1,dim*12);
  analogWrite (ledw2,dim*10);
  analogWrite (leduv, dim*8);
  LCD.setCursor(0,1);
  LCD.print ("Alba 48%");

}

if (time >= ora+x*9&&time<ora+x*10)
  {
  analogWrite (ledw1,dim*11);
  analogWrite (ledw2,dim*9);
  analogWrite (leduv, dim*7);
  LCD.setCursor(0,1);
  LCD.print ("Alba 54%");

}
if (time >= ora+x*10 && time<ora+x*11)
  {
  analogWrite (ledw1,dim*10);
  analogWrite (ledw2,dim*8);
  analogWrite (leduv, dim*6);
  LCD.setCursor(0,1);
  LCD.print ("Alba 60%");

}
if (time >= ora+x*11 && time<ora+x*12)
  {
  analogWrite (ledw1,dim*9);
  analogWrite (ledw2,dim*7);
  analogWrite (leduv, dim*5);
  LCD.setCursor(0,1);
  LCD.print ("Alba 66%");

}

if (time >= ora+x*12 && time<ora+x*13)
  {
  analogWrite (ledw1,dim*8);
  analogWrite (ledw2,dim*6);
  analogWrite (leduv, dim*4);
  LCD.setCursor(0,1);
  LCD.print ("Alba 72%");

}
if (time >= ora+x*13 && time<ora+x*14)
  {
  analogWrite (ledw1,dim*7);
  analogWrite (ledw2,dim*5);
  analogWrite (leduv, dim*4);
  LCD.setCursor(0,1);
  LCD.print ("Alba 78%");

}
if (time >=ora+x*14 && time<ora+x*15)
  {
  analogWrite (ledw1,dim*6);
  analogWrite (ledw2,dim*4);
  analogWrite (leduv, dim*4);
  LCD.setCursor(0,1);
  LCD.print ("Alba 84%");

}

if (time >=ora+x*15 && time<ora+x*16)
  {
  analogWrite (ledw1,dim*5);
  analogWrite (ledw2,dim*4);
  analogWrite (leduv, dim*4);
  LCD.setCursor(0,1);
  LCD.print ("Alba 90%");

}
/*fase intermedia 'Giorno' nella quale l'illuminazione viene tenuta al massimo dell'intensità impostata e che va dalla fine dell'alba all'inizio della fase di decremento dell'illuminazione 'Tramonto' */
if (time >=ora+x*16 && time <oras+x)
  {
  analogWrite (ledw1,dim*4);
  analogWrite (ledw2,dim*4);
  analogWrite (leduv, dim*4);
  LCD.setCursor(0,1);
  LCD.print ("Giorno");
 

}
 /*inizio della fase 'Tramonto' e diminuzione graduale dell'intensità dell'illuminazione fino al completo spegnimento*/

if (time >=oras+x&&time <oras+x*2)
  {
  analogWrite (ledw1,dim*5);
  analogWrite (ledw2,dim*4);
  analogWrite (leduv, dim*4);
  LCD.setCursor(0,1);
  LCD.print ("Tramonto -45:00");

}

if (time >= oras+x*2&&time<oras+x*3)
  {
  analogWrite (ledw1,dim*6);
  analogWrite (ledw2,dim*4);
  analogWrite (leduv, dim*4);
  LCD.setCursor(0,1);
  LCD.print ("Tramonto -42:30");

}

if (time >= oras+x*3&&time<oras+x*4)
  {
  analogWrite (ledw1,dim*7);
  analogWrite (ledw2,dim*4);
  analogWrite (leduv, dim*4);
  LCD.setCursor(0,1);
  LCD.print ("Tramonto -40:00");

}

if (time >= oras+x*4&&time<oras+x*5)
  {
  analogWrite (ledw1,dim*8);
  analogWrite (ledw2,dim*4);
  analogWrite (leduv, dim*4);
  LCD.setCursor(0,1);
  LCD.print ("Tramonto -37:30");

}

if (time >= oras+x*5&&time<oras+x*6)
  {
  analogWrite (ledw1,dim*9);
  analogWrite (ledw2,dim*4);
  analogWrite (leduv, dim*5);
  LCD.setCursor(0,1);
  LCD.print ("Tramonto -35:00");

}

if (time >=oras+x*6&&time<oras+x*7)
  {
  analogWrite (ledw1,dim*10);
  analogWrite (ledw2,dim*4);
  analogWrite (leduv, dim*6);
  LCD.setCursor(0,1);
  LCD.print ("Tramonto -32:30");

}

if (time >=oras+x*7&&time<oras+x*8)
  {
  analogWrite (ledw1,dim*11);
  analogWrite (ledw2,dim*4);
  analogWrite (leduv, dim*7);
  LCD.setCursor(0,1);
  LCD.print ("Tramonto -30:00");

}

if (time >=oras+x*8&&time<oras+x*9)
  {
  analogWrite (ledw1,dim*12);
  analogWrite (ledw2,dim*6);
  analogWrite (leduv, dim*8);
  LCD.setCursor(0,1);
  LCD.print ("Tramonto -27:30");

}

if (time >=oras+x*9&&time<oras+x*10)
  {
  analogWrite (ledw1,dim*13);
  analogWrite (ledw2,dim*7);
  analogWrite (leduv, dim*9);
  LCD.setCursor(0,1);
  LCD.print ("Tramonto -25:00");

}


if (time >= oras+x*10&&time<oras+x*11)
  {
  analogWrite (ledw1,dim*14);
  analogWrite (ledw2,dim*9);
  analogWrite (leduv, dim*10);
  LCD.setCursor(0,1);
  LCD.print ("Tramonto -22:30");

}

if (time >= oras+x*11&&time<oras+x*12)
  {
  analogWrite (ledw1,dim*15);
  analogWrite (ledw2,dim*10);
  analogWrite (leduv, dim*10);
  LCD.setCursor(0,1);
  LCD.print ("Tramonto -20:00");

}

if (time >= oras+x*12&&time<oras+x*13)
  {
  analogWrite (ledw1,dim*16);
  analogWrite (ledw2,dim*11);
  analogWrite (leduv, dim*10);
  LCD.setCursor(0,1);
  LCD.print ("Tramonto -17:30");
 
}

if (time >= oras+x*13&&time<oras+x*14)
  {
  analogWrite (ledw1,dim*17);
  analogWrite (ledw2,dim*14);
  analogWrite (leduv, dim*10);
  LCD.setCursor(0,1);
  LCD.print ("Tramonto -15:00");
 
}
if (time >= oras+x*14&&time<oras+x*15)
  {
  analogWrite (ledw1,dim*17);
  analogWrite (ledw2,dim*15);
  analogWrite (leduv, dim*11);
  LCD.setCursor(0,1);
  LCD.print ("Tramonto -12:50");
 
}

if (time >= oras+x*15&&time<oras+x*16)
  {
  analogWrite (ledw1,dim*18);
  analogWrite (ledw2,dim*16);
  analogWrite (leduv, dim*11);
  LCD.setCursor(0,1);
  LCD.print ("Tramonto -10:00");
 
}

if (time >=oras+x*16&&time<oras+x*17)
  {
  analogWrite (ledw1,dim*18);
  analogWrite (ledw2,dim*17);
  analogWrite (leduv, dim*11);
  LCD.setCursor(0,1);
  LCD.print ("Tramonto -7:30");
 
 
}

if (time >= oras+x*17&&time<oras+x*18)
  {
  analogWrite (ledw1,dim*18);
  analogWrite (ledw2,dim*18);
  analogWrite (leduv, dim*14);
  LCD.setCursor(0,1);
  LCD.print ("Tramonto -5:00");
 
}

if (time >= oras+x*18&&time<oras+x*19)
  {
  analogWrite (ledw1,dim*18);
  analogWrite (ledw2,dim*18);
  analogWrite (leduv, dim*16);
  LCD.setCursor(0,1);
  LCD.print ("Tramonto -2:30");
 
}
/*spegnimento completo dell'illuminazione, fase 'Notte' */
if (time > oras+(x*19))

  {
  analogWrite (ledw1,dim*18);
  analogWrite (ledw2,dim*18);
  analogWrite (leduv, dim*18);
  LCD.setCursor(0,1);
  LCD.print ("Notte"); }
 
  if (time<ora)
  {
  analogWrite (ledw1,dim*18);
  analogWrite (ledw2,dim*18);
  analogWrite (leduv, dim*18);
  LCD.setCursor(0,1);
  LCD.print ("Notte     "); }
  Serial.print (time);
  Serial.print (ora);
  Serial.print (oras);
 delay(10);
 

}

 
 
   
   
   
25  International / Software / Re: Non riesco a venirne a capo on: November 11, 2012, 04:45:51 pm
questo è il codice completo
Code:
/*
 * TimeRTC.pde
 * example code illustrating Time library with Real Time Clock.
 *
 */
#include <LiquidCrystal.h>
#include <Time.h> 
#include <Wire.h> 
#include <DS1307RTC.h>  // a basic DS1307 library that returns time as a time_t
LiquidCrystal LCD(12,11,5,4,3,2);



void setup()  {
 
 LCD.begin (16,2);
 Serial.begin(9600);
 setSyncProvider(RTC.get);
   DS1307RTC(); 
}

void loop()
{

  LCD.setCursor(0,0);
   digitalClockDisplay(); 
   delay(1000);
 
}

void digitalClockDisplay(){
 
  // digital clock display of the time
  LCD.print(hour());
  printDigits(minute());
  LCD.setCursor(5,0);
  printDigits(second());
  LCD.print(" ");
  }

void printDigits(int digits){
  // utility function for digital clock display: prints preceding colon and leading 0
 
  LCD.print(":");
  if(digits < 10)
    LCD.print('0');
  LCD.print(digits);
}
void DS1307RTC(){
 
 
   int ledw1=9;//pin linea led bianchi e rb posteriore
   int ledw2=10;//pin linea led bianchi e rb anteriore
   int leduv=6;//pin linea led rossi, verdi, uv
   float dim;
    unsigned long ora;
    unsigned long  oras;
   int moonlight=7;//pin led lunari
   unsigned long  time=((hour()*60*60) + (minute ()*60) + second());//orario hr,min,sec ridotto in secondi//cambiato da unsigned int a int
   pinMode (ledw1,OUTPUT);
   pinMode (ledw2, OUTPUT);
   pinMode (leduv, OUTPUT);
   pinMode (moonlight,OUTPUT); 
   dim=255/18;//aumento intensità per ogni step
   ora=45000;//12:30 ora accensione in millisecondi(ore*3600 minuti*60 secondi*1)*1000
   oras=83700;//23:15 ora spegnimento in millisecondi(ore*3600 minuti*60 secondi*1)*1000
   int x=150;//intervallo in millisecondi tra un fade e un altro
LCD.clear();
 time = time*5,99999;
/*impostazione per l'accensione deiled lunari*/

 
  if (time > oras+x*2 &&  time <=86399){
    digitalWrite (moonlight, HIGH);
  }
  if (time >= ora*0 && time <=ora+x*2){
    digitalWrite (moonlight, HIGH);
  }
  if (time <= oras+x*2&&  time>ora+x*2){
  digitalWrite (moonlight, LOW);}
 
 /*inizio della fase 'Alba' e aumento graduale dell'intensità dell'illuminazione*/
 
    if ( time >= ora&&time <ora+x)
  {
  analogWrite (ledw1,dim*18);
  analogWrite (ledw2,dim*18);
  analogWrite (leduv, dim*16);
  LCD.setCursor(0,1);
  LCD.print ("Alba 0%");

}

 if (time >= ora+x&&time<ora+x*2)
  {
  analogWrite (ledw1,dim*18);
  analogWrite (ledw2,dim*18);
  analogWrite (leduv, dim*14);
  LCD.setCursor(0,1);
  LCD.print ("Alba 6%");

}

if (time >= ora+x*2&&time < ora+x*3)
  {
  analogWrite (ledw1,dim*18);
  analogWrite (ledw2,dim*16);
  analogWrite (leduv, dim*14);
  LCD.setCursor(0,1);
  LCD.print ("Alba 12%");

}

if (time >= ora+x*3&&time < ora+x*4)
  {
  analogWrite (ledw1,dim*17);
  analogWrite (ledw2,dim*15);
  analogWrite (leduv, dim*13);
  LCD.setCursor(0,1);
  LCD.print ("Alba 18%");

}

if (time >=ora+x*4&&time < ora+x*5)
  {
  analogWrite (ledw1,dim*16);
  analogWrite (ledw2,dim*14);
  analogWrite (leduv, dim*12);
  LCD.setCursor(0,1);
  LCD.print ("Alba 24%");

}

if (time >= ora+x*5&&time<ora+x*6)
  {
  analogWrite (ledw1,dim*15);
  analogWrite (ledw2,dim*13);
  analogWrite (leduv, dim*11);
  LCD.setCursor(0,1);
  LCD.print ("Alba 30%");

}
if (time >= ora+x*6&&time<ora+x*7)
  {
  analogWrite (ledw1,dim*14);
  analogWrite (ledw2,dim*12);
  analogWrite (leduv, dim*10);
  LCD.setCursor(0,1);
  LCD.print ("Alba 36%");

}

if (time >= ora+x*7&&time<ora+x*8)
  {
  analogWrite (ledw1,dim*13);
  analogWrite (ledw2,dim*11);
  analogWrite (leduv, dim*9);
  LCD.setCursor(0,1);
  LCD.print ("Alba 42%");

}
26  International / Software / Re: Non riesco a venirne a capo on: November 11, 2012, 04:43:25 pm
mettendo 5,9 mi da 80300 mentre se metto 6 mi da 92000 e passa
27  International / Software / Re: Non riesco a venirne a capo on: November 11, 2012, 04:38:51 pm
long
ora ho aggiunto questa riga
Code:
time = time*5;
ma con il 5 da un risultato reale, fino a 5,9 se invece metto *6 sballa. Ipotesi, 1*5=5.....1*5,9=5,9.....1*6=6,5....
28  International / Software / Re: Non riesco a venirne a capo on: November 11, 2012, 04:17:49 pm
si, ma vista la formula per portare hr min sec in secondi dovrei avere un valore, alle 22 avrò 79200, invece dà come risultato circa 13000, se aggiungo alla formula *2 mi dà naturalmente 26000 se provo *4 mi da 4268647983 che non c'entra nulla con 13000*4.
29  International / Software / Re: Non riesco a venirne a capo on: November 11, 2012, 03:38:42 pm
allora, se davanti a ora e oras metto 'int' da vera la fase giorno sia di giorno che di notte, se metto 'long' da vera la fase di notte sempre in entrambe i casi... tra un pò spacco tutto... è illogico!!!
30  International / Software / Re: Non riesco a venirne a capo on: November 11, 2012, 03:11:34 pm
non ce la faccio più, sta diventando ridicolo, come può in questo codice diventare vero l'if della fase 'giorno' passata la mezzanotte dove invece dovrebbe essere assolutamente falso?
Code:
/*
 * TimeRTC.pde
 * example code illustrating Time library with Real Time Clock.
 *
 */
#include <LiquidCrystal.h>
#include <Time.h> 
#include <Wire.h> 
#include <DS1307RTC.h>  // a basic DS1307 library that returns time as a time_t
LiquidCrystal LCD(12,11,5,4,3,2);



void setup()  {
 
 LCD.begin (16,2);
 Serial.begin(9600);
 
   DS1307RTC(); 
}

void loop()
{

  LCD.setCursor(0,0);
   digitalClockDisplay(); 
   delay(1000);
 
}

void digitalClockDisplay(){
 
  // digital clock display of the time
  LCD.print(hour());
  printDigits(minute());
  LCD.setCursor(5,0);
  printDigits(second());
  LCD.print(" ");
  }

void printDigits(int digits){
  // utility function for digital clock display: prints preceding colon and leading 0
 
  LCD.print(":");
  if(digits < 10)
    LCD.print('0');
  LCD.print(digits);
}
void DS1307RTC(){
 
 
   int ledw1=9;//pin linea led bianchi e rb posteriore
   int ledw2=10;//pin linea led bianchi e rb anteriore
   int leduv=6;//pin linea led rossi, verdi, uv
   float dim;
   int ora;
   int oras;
   int moonlight=7;//pin led lunari
   int  time=(hour()*60*60 + minute()*60 + second());//orario hr,min,sec ridotto in secondi//cambiato da unsigned int a int
   pinMode (ledw1,OUTPUT);
   pinMode (ledw2, OUTPUT);
   pinMode (leduv, OUTPUT);
   pinMode (moonlight,OUTPUT); 
   dim=255/18;//aumento intensità per ogni step
   ora=45000;//12:30 ora accensione in millisecondi(ore*3600 minuti*60 secondi*1)*1000
   oras=83700;//23:15 ora spegnimento in millisecondi(ore*3600 minuti*60 secondi*1)*1000
   int x=150;//intervallo in millisecondi tra un fade e un altro
LCD.clear();
/*impostazione per l'accensione deiled lunari*/
 
Code:
if (time >=ora+x*16 && time <oras+x)
  {
  analogWrite (ledw1,dim*4);
  analogWrite (ledw2,dim*4);
  analogWrite (leduv, dim*4);
  LCD.setCursor(0,1);
  LCD.print ("Giorno");

}
Pages: 1 [2] 3 4 ... 8