software che funziona in base all'ora

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:

pablos:

leo72:
Che vuoi di più? :wink:

Che gli scrivi lo sketch ]:smiley:

:wink:

#include <swRTC.h>
swRTC rtc; //create a new istance of the lib

void setup() {
rtc.stopRTC(); //stop the RTC
rtc.setTime(12,0,0); //set the time here
rtc.setDate(4,6,2012); //set the date here
rtc.startRTC(); //start the RTC
Serial.begin(19200); //choose the serial speed here
delay(2000); //delay to let the user opens the serial monitor
}

void loop() {
Serial.print(rtc.getHours(), DEC);
Serial.print(":");
Serial.print(rtc.getMinutes(), DEC);
Serial.print(":");
Serial.print(rtc.getSeconds(), DEC);
Serial.print(" -- ");
Serial.print(rtc.getDay(), DEC);
Serial.print("/");
Serial.print(rtc.getMonth(), DEC);
Serial.print("/");

if (rtc.getHours() == 00 && tyc.getMinutes() == 00) ;

{ pinMode(13 HIGH)}
}

beh,intanto e giusto?devo settare le ore e i minuti...ma il resto e ok?

Hai fatto un copia-incolla di 2 sketch di esempio allegati alla swRTC :stuck_out_tongue_closed_eyes:
C'è però un paio di errori, uno di sintassi ed un logico... trovali ]:smiley:

uno e` un ";" quello logico proprio non so...??!! :roll_eyes:

forse manca lo rtc.startRTC();

steveborty:
forse manca lo rtc.startRTC();

Quello c'è.

steveborty:
uno e` un ";" quello logico proprio non so...??!! :roll_eyes:

Questo non l'avevo visto. Allora gli errori di sintassi sono 2...
L'hai compilato, per curiosità? :stuck_out_tongue:

Cioè?

steveborty:
Cioè?

Perché se lo avessi fatto avresti visto gli errori. :cold_sweat:

Ahhhh,okk. Si lo ho fatto e mi dava quel ;

steveborty:
Ahhhh,okk. Si lo ho fatto e mi dava quel ;

E l'altro.

non ho ancora capito il problema...

Il problema è che con i copia-e-incolla non si va da nessuna parte.
Se non ti metti davanti ad una tastiera e non inizi a scrivere un po' di codice, stiamo qui mesi a parlare del più e del meno :wink:
Se avessi compilato il codice che hai postato avresti visto che c'era anche questo errore.
if (rtc.getHours() == 00 && tyc.getMinutes() == 00) ;
hai scritto tyc al posto di rtc. Siccome in 2 giorni non me lo hai detto quale era l'errore che c'era, presumo che tu in 2 giorni o non hai provato a scrivere nulla oppure ti sia dimenticato della cosa. Spero la seconda ]:slight_smile:

Inoltre il problema logico risiede nel fatto che tale codice, arrivato alle 00:00 di un qualsiasi giorno, tenterà di accendere per 1 minuto esatto il led sul pin 13. Quest perché non hai poi messo nessun flag per far eseguire l'operazione 1 sola volta. E nessun controllo per resettare il flag una volta che siano passate le 00:00 (alle 00:01 tale flag deve essere rimesso a 0 perché sennò la prossima volta che sono le 00:00 non verrà eseguito nulla).

Scusa se sono rude ma la parte software si basa sulla logica, se non impari a ragionare esaminando tutte le possibili implicazioni di quello che scrivi i tuoi sketch avrai sempre problemini banali che però ti rompono un sacco le scatole :wink:

ma se al posto di usare la libreria usassi solo la funzione delay (300000) quindi 5 min. e metto in successione i led da accendere...e un po' elaborioso ma piu semplice no?