tag:blogger.com,1999:blog-39162844907987842252024-03-13T01:57:28.132+00:00EsperimentiGisino74http://www.blogger.com/profile/16698852003448259902noreply@blogger.comBlogger1125tag:blogger.com,1999:blog-3916284490798784225.post-44396607396204611382012-12-15T20:38:00.001+00:002012-12-15T20:38:17.251+00:00Orologio con Arduino e il DS1307<h3>
<b>Orologio con DS1307</b></h3>
<br />
Questo progetto prevede la realizzazione di un orologio/datario, con la possibilità di impostare data e ora tramite 3 pulsanti (SET, +, -).<br />
<div>
<br /></div>
<div>
Il materiale occorrente per questo progetto è:</div>
<div>
<ul>
<li>Modulo DS1307 (RTC Real time Clock)</li>
<li>Display LCD 16X2 tipo Displaytech 162B</li>
<li>3 pulsanti </li>
<li>3 resistenze da 10Kohm 1/4w</li>
<li>1 potenziometro da 10Kohm lineare</li>
<li>Arduino UNO</li>
</ul>
<div>
<b>Descrizione dell'esperimento:</b></div>
</div>
<div>
<b><br /></b></div>
<div>
<div>
Vogliamo che Arduino mostri data e ora, ma dobbiamo avere anche la possibilità di impostarle correttamente, perché riprogrammare ogni volta Arduino non è proprio il massimo della comodità.</div>
<div>
</div>
<div>
Quindi è stato previsto che normalmente Arduino visualizzi sul display la data sulla prima riga e l'ora sulla seconda riga del display. Alla pressione del tasto SET entrerà nella fase di settaggio della data e ora. </div>
<div>
<br /></div>
<div>
Più precisamente:</div>
<div>
<br /></div>
<div>
Con la pressione del tasto SET entreremo nell'impostazione dell'ora, con i tasti + e - incrementeremo o decrementeremo l'ora attuale. Con una nuova pressione del tasto SET andremo ad impostare i minuti, un'altra pressione per l'anno, poi il mese e il giorno. </div>
<div>
Alla fine si effettuerà il salvataggio delle impostazioni.</div>
</div>
<div>
<br /></div>
<div>
Per realizzare lo sketch, è necessario scaricare e installare nella cartella delle librerie di arduino, la libreria RTClib che potete trovare a questo indirizzo:</div>
<div>
<a href="https://github.com/adafruit/RTClib">https://github.com/adafruit/RTClib</a></div>
<div>
<br /></div>
<div>
Nota: Per il momento esistono alcuni "bug" per quanto riguarda il settaggio dei giorni del mese (di default il programma pensa che siano di 31 giorni anche se è febbraio....) </div>
<div>
<br /></div>
<div>
<b>Lo sketch:</b></div>
<div>
<br /></div>
<div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">#include <Wire.h></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">#include <RTClib.h></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">#include <LiquidCrystal.h></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">// inizializza la libreria con i Pin LCD</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">LiquidCrystal lcd(12, 11, 5, 4, 3, 2);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">RTC_DS1307 RTC;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">int P1=6;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">int P2=7;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">int P3=8;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">int oraagg;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">int minagg;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">int annoagg;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">int meseagg;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">int dayagg;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">int menu =0;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">void setup()</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">{</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> // Quante colonne e righe ha il display: </span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.begin(16, 2);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.clear();</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> // Inizializzazione dei pulsanti</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> pinMode(P1,INPUT);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> pinMode(P2,INPUT);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> pinMode(P3,INPUT);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> //inizializzo la libreria</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> Serial.begin(9600);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> Wire.begin();</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> RTC.begin();</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> //RTC.sqw(1); </span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if (! RTC.isrunning()) {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> Serial.println("RTC is NOT running!");</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> // settiamo la data e l'ora al momento della compilazione</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> RTC.adjust(DateTime(__DATE__, __TIME__));</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> // di default il display visualizzerà data e ora</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> int menu=0;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">}</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> </span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">void loop()</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">{ </span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">// verifichiamo se viene premuto il pulsante SET e incrementiamo l'indice del menu</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if(digitalRead(P1))</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> menu=menu+1;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">// a quale subroutine dobbiamo andare?</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if (menu==0)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> DisplayDateTime();</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> delay (1000);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if (menu==1)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> DisplaySetHour();</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if (menu==2)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> DisplaySetMinute();</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if (menu==3)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> DisplaySetYear();</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if (menu==4)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> DisplaySetMonth();</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if (menu==5)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> DisplaySetDay();</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if (menu==6)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> StoreAgg(); </span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> delay(500);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> menu=0;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> delay(100);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">}</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">void DisplayDateTime ()</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">{</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">// mostriamo la data e l'ora correnti</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> DateTime now = RTC.now();</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.clear();</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.setCursor(0, 1);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print("Ora:");</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if (now.hour()<=9)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print("0");</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print(now.hour(), DEC);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> oraagg=now.hour();</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print(":");</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if (now.minute()<=9)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print("0");</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print(now.minute(), DEC);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> minagg=now.minute();</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print(":");</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if (now.second()<=9)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print("0");</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print(now.second(), DEC);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.setCursor(0, 0);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print("Data: ");</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if (now.day()<=9)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print("0");</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print(now.day(), DEC);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> dayagg=now.day();</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print("/");</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if (now.month()<=9)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print("0");</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print(now.month(), DEC);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> meseagg=now.month();</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print("/");</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print(now.year(), DEC);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> annoagg=now.year();</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">}</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">void DisplaySetHour()</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">{</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">// Impostazione dell'ora</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.clear();</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> DateTime now = RTC.now();</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> int ora=now.hour();</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if(digitalRead(P2)==HIGH)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if(oraagg==23)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> oraagg=0;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> else</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> oraagg=oraagg+1;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if(digitalRead(P3)==HIGH)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if(oraagg==0)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> oraagg=23;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> else</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> oraagg=oraagg-1;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.setCursor(0,0);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print("Imposta Ora:");</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.setCursor(0,1);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print(oraagg,DEC);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> delay(200);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">}</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">void DisplaySetMinute()</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">{</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">// Impostazione dei minuti</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.clear();</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if(digitalRead(P2)==HIGH)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if (minagg==59)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> minagg=0;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> else</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> minagg=minagg+1;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if(digitalRead(P3)==HIGH)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if (minagg==0)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> minagg=59;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> else</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> minagg=minagg-1;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.setCursor(0,0);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print("Imposta Minuti:");</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.setCursor(0,1);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print(minagg,DEC);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> delay(200);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">}</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> </span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">void DisplaySetYear()</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">{</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">// Impostazione dell'anno</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.clear();</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if(digitalRead(P2)==HIGH)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> { </span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> annoagg=annoagg+1;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if(digitalRead(P3)==HIGH)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> annoagg=annoagg-1;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.setCursor(0,0);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print("Imposta Anno:");</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.setCursor(0,1);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print(annoagg,DEC);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> delay(200);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">}</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">void DisplaySetMonth()</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">{</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">// Impostazione del mese</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.clear();</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if(digitalRead(P2)==HIGH)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if (meseagg==12)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> meseagg=1;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> else</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> meseagg=meseagg+1;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if(digitalRead(P3)==HIGH)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if (meseagg==12)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> meseagg=12;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> else</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> meseagg=meseagg-1;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.setCursor(0,0);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print("Imposta Mese:");</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.setCursor(0,1);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print(meseagg,DEC);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> delay(200);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">}</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">void DisplaySetDay()</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">{</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">// Impostazione del giorno</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.clear();</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if(digitalRead(P2)==HIGH)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if (dayagg==31)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> dayagg=1;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> else</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> dayagg=dayagg+1;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if(digitalRead(P3)==HIGH)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> if (dayagg==1)</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> dayagg=31;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> else</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> dayagg=dayagg-1;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.setCursor(0,0);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print("Imposta Giorno:");</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.setCursor(0,1);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print(dayagg,DEC);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> delay(200);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">}</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">void StoreAgg()</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">{</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">// Salvataggio delle variabili</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.clear();</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.setCursor(0,0);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print("SALVATAGGIO IN");</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.setCursor(0,1);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> lcd.print("CORSO");</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> RTC.adjust(DateTime(annoagg,meseagg,dayagg,oraagg,minagg,0));</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> delay(200);</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">}</span></div>
</div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<span style="font-family: inherit;"><b>Lo schema:</b></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-wNIUjSQBhnw/UMzQKazLTpI/AAAAAAAAAlw/IKIC85O8w4w/s1600/orologio2_bb.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-wNIUjSQBhnw/UMzQKazLTpI/AAAAAAAAAlw/IKIC85O8w4w/s1600/orologio2_bb.jpg" height="288" width="400" /></a></div>
<div class="" style="clear: both; text-align: center;">
<br /></div>
Gisino74http://www.blogger.com/profile/16698852003448259902noreply@blogger.com9