accendere rele con RTC DS1302

ciao tutti,
premetto che non sono un genio nella programmazione per questo mi affido a voi.
Devo fare un sistema di irrigazione automatico per l orto e per attivare il relè ad una determinata ora avevo pensato di usare l RTC DS1302. Per farlo funzionare mi sono basato su un sketch trovato in giro su internet con relative librerie, ma non riesco a far attivare il relè ad una determinata ora.
Prima però che il rele parta arduino deve determinare se piove e se il terreno è secco ò umido cosi da evitare che inaffi quando le piante non ne hanno bisogno, ma per questo avevo già risolto
Ecco lo sketch per l RTC:

#include <stdio.h>
#include <DS1302.h>

namespace {

const int kCePin   = 5;  // Chip Enable
const int kIoPin   = 6;  // Input/Output
const int kSclkPin = 7;  // Serial Clock


DS1302 rtc(kCePin, kIoPin, kSclkPin);

String dayAsString(const Time::Day day) {
switch (day) {
  case Time::kSunday: return "Sunday";
  case Time::kMonday: return "Monday";
  case Time::kTuesday: return "Tuesday";
  case Time::kWednesday: return "Wednesday";
  case Time::kThursday: return "Thursday";
  case Time::kFriday: return "Friday";
  case Time::kSaturday: return "Saturday";
}
return "(day)";
}

void printTime() {

Time t = rtc.time();


const String day = dayAsString(t.day);


char buf[50];
snprintf(buf, sizeof(buf), "%s %04d-%02d-%02d %02d:%02d:%02d",
         day.c_str(),
         t.yr, t.mon, t.date,
         t.hr, t.min, t.sec);
         
Serial.println(buf);
}

}  // namespace

void setup() {
Serial.begin(9600);

 rtc.writeProtect(false);
 rtc.halt(false);

 Time t(2016, 06, 17, 13, 49, 50, Time::kFriday);

// qui andava rtc.time(t); ma lo rimosso dopo aver fatto il primo caricamento dello sketch su arduino

}

void loop() {
printTime();
delay(1000);
}

io avevo pensato semplicemente di mettere dopo prinTime un if(printTime == 21, 00, 00) e continuare con la lettura dei sensori, oppure di andare a leggere dal pin dove è collegato l RTC, ma mi da sempre errore.
Ho fatto delle ricerche in internet, ma non trovo niente di simile.
Qualunque proposta è ben accetta anche nel cambiare l intero sketch :wink:

P.S. avevo trovato questo link, secondo voi può aiutarmi a creare lo sketch???
http://playground.arduino.cc/Main/DS1302RTC

Corri a presentarti qui, usa il </> per riportare il codice (correggi quanto hai fatto) prima che l'Entità ti veda.
Sopratutto leggi le regole del forum qui ....poi ne discutiamo

Ciao!

;D

cam9500:
Corri a presentarti qui, usa il </> per riportare il codice (correggi quanto hai fatto) prima che l'Entità ti veda.
Sopratutto leggi le regole del forum qui ....poi ne discutiamo

Ciao!

;D

ahahah
@Tripla M Esatto. Fai quello che dice, non vorrei essere nei tuoi panni.

Mi sono appena reso conto che hai sbagliato a mettere i link cam. La fretta dell'entità :smiley:

@Tripla M Presentati QUI e leggi attentamente il regolamento QUI

:slight_smile:

P.S. posta comunque, dopo aver fatto TUTTO quello scritto da Cam, lo sketch completo che usi, intanto non dovrai metterlo lì dentro questa "funzionalità"? E postalo con i simboli di code <>

**@Tripla-M: ** essendo il tuo primo post, ti chiedo cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il REGOLAMENTO, inoltre in conformità al suddetto regolamento, punto 7, devi editare il tuo post (in basso a destra del post, bottone More -> Modify) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone fatto così: </>, tutto a sinistra).

Guglielmo

@gpb01 grazie mille per avermi informato e scusate se non ho risposto subito ma in queste ultime settimane sono impegnato in altro. Sono appena andato a presentarmi, però non riesco a correggere il topic in questo momento perché sul telefono è un po' scomodo e non vorrei sbagliare, più tardi lo correggo sul computer

Perché converti il giorno in stringa per dover confrontare una stringa con un altra (che poi non so se funziona)

Perché non usi il numero dell giorno della settimana come lo da il RTC e confronti quello?

Per il tempo calcola i miniuti (secondi) del giorno e confronti quelli, cosí non hai problemi con le ore minuti (secondi).

Ciao Uwe