Help RTC ds1302
- Войдите на сайт для отправки комментариев
Втр, 20/12/2016 - 16:14
Подскажите не опытному. Как из часов взять переменную времяни и сделать суточный таймер. Как это должно выглядеть. rtc.getTimeStr() это вроде она. Но ни как не могу допереть как использовать вместе с модулем реле. Millis delay как то не нравиться. Хотелось бы указать что если rtc.getTimeStr() больше 06:00:00 и меньше 23:00:00 то реле вкл
100р на телефон
Ну хоть тыкнете где почитать...
ТУТ - примеры внутри библиотеки
Это я уже видел. Смотрю, почти как баран на новые ворота. Объясни как этим всем пользоваться.
Да легко!!!
Открываете книжечку С.О Бочков, Д.М.Субботин - Язык программирования СИ для персонального компьютера и со страницы 7 вперёд и с песней
Как-то так:
Только я бы так не стал делать.
Какой номер телефона
Почему? И как сделал бы ты?
Как-то так:
Только я бы так не стал делать.
Да и не будет работать:
// Make a new time object to set the date and time.
// Sunday, September 22, 2013 at 01:38:50.
Time t(2013, 9, 22, 1, 38, 50, Time::kSunday);
А вот если вытащить и воспользовать String тады да
А это откуда???
char *DS1302::getTimeStr(uint8_t format)
Работать будет.
Но я бы перевел время в секунды от полуночи и сравнивал бы целые числа.
#include //библиотека часов DS1302 rtc(13, 12, 10); //13-reset 12-data(резистор 1кОм) 10-clock
rtc.halt(false); rtc.writeProtect(false); rtc.setTime(0, 30, 0); // Set the time to 12:00:00 (24hr format)
// Send time lcd.setCursor(8,0); lcd.print(rtc.getTimeStr()); //считываем время lcd.print(" "); //выводим delay (100);
Это как то так.
https://github.com/siberianice/arduino-ds1302
дайте ссылку на используемую "библиотеку"
дайте ссылку на используемую "библиотеку"
Судя по библиотеке нужно сделать так. для часов
1DS1302 rtc(22, 23);// Init the DS1307 //22 и 23 пины к которым поключены часы2Time t;// Init a Time-data structureTime xxx – создает структуру данных с именем xxx для вывода данных о дате и времени при помощи функции getTime. Структура состоит из следующие переменных:
в лупе надо написать1t = rtc.getTime();// Get data from the DS1302теперь уже
t.hour - час t.min минута и тп
а дальше сравнить эти значения"как написал автор" это по I2C
если я правильно понял то через команду if t = time hour и time min
и как это правильно написать на 4 релюшки
6 часов 23 часа
if (time.hour<=t<=time.hour)
relay on
else
relay off
так сможет работать?
вот ещё нашел
01#include <RTC.h>02RTC time;03intRelay = 6;04voidsetup() {05Serial.begin(9600);06pinMode(Relay,OUTPUT);07time.begin(RTC_DS1302,4, 3, 2);0809}10voidloop(){11time.gettime();12time.period(30);13if(time.Hours==06 && time.minutes==00 && time.seconds==00)// Включается реле в 6 утра14{digitalWrite(Relay, HIGH);}1516if(time.Hours==20 && time.minutes==00 && time.seconds==00)// Выключатся реле в 23:0017{digitalWrite(Relay, LOW);}1819}спасибо автору
Помошников нет, только советчики.
Для 1302 как мне кажется нужно создать class time?
Тихо сам с собою я веде беседу?
Вас же попросили дать библиотеку-то бишь код реализации DS1302