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...
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
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 ]
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
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?