software che funziona in base all'ora

Se ti piace fatto così nulla da dire a parte quel 60 sui minuti che non ci sta hai già messo 00 lo stesso per le ore 12 e 00

hai ragione!! XD
c'e` qualcuno che riesce a spiegarmi come funziona la libreria citata prima?

steveborty:
hai ragione!! XD
c'e` qualcuno che riesce a spiegarmi come funziona la libreria citata prima?

A quale lib ti riferisci?

SWRTC

steveborty:
SWRTC

Quella libreria l'ho scritta io :stuck_out_tongue:
Cos'è che vuoi sapere?

vorrei sapere come funziona

steveborty:
vorrei sapere come funziona

Domanda generica. Vediamo se ti faccio un sunto.
Basilarmente utilizzo un timer del microcontrollore (la lib gira su un sacco di chip supportati dall'IDE e dai core aggiuntivi) impostandolo come contamillisecondi. Ogni millisecondo incremento un contatore interno. Al raggiungimento di 1000 incrementi, incremento a cascata tutta una serie di variabili temporali, a cominciare dai secondi per finire agli anni.
Siccome la sua accuratezza si basa sull'accuratezza del generatore di clock, sappiamo che il risonatore ceramico usato sulle ultimo schede Arduino non è quel mostro di precisione per cui, per sopperire a questo problema, ho aggiunto un deltaT. L'utente può utilizzare un fattore di correzione per allineare il tempo contato dalla libreria con quello reale, aggiungengo o sottraendo una certa quantità di millisecondi nell'arco di un giorno.

La libreria ha tante funzioni, compresa la gestione dei timestamp in stile UNIX: puoi avere il timestamp dell'orario corrente così come usarne uno per regolare l'ora. Oppure sapere il giorno della settimana della data corrente oppure sapere se un anno è bisestile.

ma come faccio a usare la libreria?

Guarda che ci sono gli esempi dentro ... l'hai scaricata e installata almeno?

scaricata si,installata no,come si fa? non mi apre niente...

steveborty:
scaricata si,installata no,come si fa? non mi apre niente...

A parte che ci sono tutte le istruzioni nel README allegato, devi copiare la cartella /swRTC e tutto il suo contenuto nella cartella /sketchbook/libraries o \Documenti\Arduino\libraries, a seconda che tu abbia Linux o Windows.
Fatto questo, avvia l'IDE e dentro a File/Esempi devi avere una nuova voce "swRTC": portandoci sopra il mouse, ti si apre un'ulteriore livello del menu con i 3 esempi allegati che puoi caricare e studiare.

ma se voglio che faccia una cosa a una determinata ora che codice devo fare?

steveborty:
ma se voglio che faccia una cosa a una determinata ora che codice devo fare?

La swRTC non è uno scheduler, è ciò che dice il nome, un orologio. Lei ti fornisce l'orario, devi poi nel tuo codice implementare il controllo.
Esempio:

if (rtc.getHours() == ore && rtc.getMinutes() == minuti && rtc.getSeconds() == secondi) {
  ....esegui qualcosa
}

Se vuoi programmare azioni prefissate a determinati intervalli ho scritto la libreria leOS/leOS2. A differenza della swRTC, imposti l'intervallo e questa ti esegue le operazioni in background.

ma basta mettere cosi` o prima devo mettere qualcos'altro?

steveborty:
ma basta mettere cosi` o prima devo mettere qualcos'altro?

Prima regoli l'orario della swRTC, ma questa è un'operazione che dovresti fare comunque anche con un RTC hardware.

che sarebbe il print time?

steveborty:
che sarebbe il print time?

Forse intendi "timestamp". E' il numero di secondi a partire da una data epoca (cioè un giorno prefissato). Il timestamp più diffuso è quello con epoca UNIX, 1970.0, ossia 1° gennaio 1970 ore 00:00.

Se non sai cos'è probabilmente non ti serve neanche :wink:

riesci a scrivermi come settare le ore i minuti e i secondi? grazie per il tempo che mi stai dando... :slight_smile:

steveborty:
riesci a scrivermi come settare le ore i minuti e i secondi?

Nella sezione Megatopic c'è una discussione sulla libreria di 69 pagine :slight_smile:
Negli esempi allegati c'è la chiamata di tutti i metodi che supporta.
Ne readme allegato ci sono descritte le funzioni e come usarle. Che vuoi di più? :wink:

leo72:
Che vuoi di più? :wink:

Che gli scrivi lo sketch ]:smiley: