Go Down

Topic: software che funziona in base all'ora (Read 4153 times) previous topic - next topic

leo72


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:
Code: [Select]
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?

leo72


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.


leo72


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... :)

leo72


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ù?  ;)

pablos

no comment




#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?   

leo72

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

uno e` un ";"    quello logico proprio non so...??!!  :smiley-roll-blue:


leo72


forse manca lo rtc.startRTC();

Quello c'è.

uno e` un ";"    quello logico proprio non so...??!!  :smiley-roll-blue:

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


Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy