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
P.S. avevo trovato questo link, secondo voi può aiutarmi a creare lo sketch???
http://playground.arduino.cc/Main/DS1302RTC