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
riesci a scrivermi come settare le ore i minuti e i secondi? grazie per il tempo che mi stai dando...
steveborty:
riesci a scrivermi come settare le ore i minuti e i secondi?
Nella sezione Megatopic c'è una discussione sulla libreria di 69 pagine
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ù?
leo72:
Che vuoi di più?
Che gli scrivi lo sketch ]
pablos:
leo72:
Che vuoi di più?Che gli scrivi lo sketch ]
#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
C'è però un paio di errori, uno di sintassi ed un logico... trovali ]
uno e` un ";" quello logico proprio non so...??!!
forse manca lo rtc.startRTC();
steveborty:
forse manca lo rtc.startRTC();
Quello c'è.
steveborty:
uno e` un ";" quello logico proprio non so...??!!
Questo non l'avevo visto. Allora gli errori di sintassi sono 2...
L'hai compilato, per curiosità?
Cioè?
steveborty:
Cioè?
Perché se lo avessi fatto avresti visto gli errori.
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...