 |
14.01.2017, 04:26
|
#1
|
Бан за нарушения
Реєстрація: 27.11.2016
Звідки Ви: Arduino
Дописи: 98
сказав Дякую: 12
сказали Дякую 21 раз(и) в 16 повідомленні
|
Re: Акваконтроллер на базе ESP8266 ===www.aquaforum.ua===
Цитата:
Допис від BrainFree
Пока что мне не дает покоя вопрос как организовать на ESP непосредственно таймер, + еще насущный вопрос как прикрутить к этому таймеру возможность кратковременного выключения реле в период когда по заданному таймером времени оно должно быть выключено.
|
Считываем время с часов - переводим в секунды. Заданное время тоже переводим в секунды + добавляем в секундах вашу кратковременную и запускаем в loop цикл сравнения, при совпадении выполняем необходимые действия.
|
|
|
16.01.2017, 10:13
|
#2
|
Придивляюся
Реєстрація: 13.01.2017
Звідки Ви: ссср
Дописи: 3
сказав Дякую: 0
сказали Дякую 0 раз(и) в 0 повідомленні
|
Re: Акваконтроллер на базе ESP8266 ===www.aquaforum.ua===
Цитата:
Допис від Arduino
Считываем время с часов - переводим в секунды. Заданное время тоже переводим в секунды + добавляем в секундах вашу кратковременную и запускаем в loop цикл сравнения, при совпадении выполняем необходимые действия.
|
уточните пожалуйста,
обычно для таймерной части ардуины предлагают следующий код, который в принципе описывает то что вы указали.
Цитата:
const long StartRelCn_1 = 25200; //Время срабатывания в ПЕРВОМ канале релейного модуля (в секундах от начала суток)
//в данном случае 25200 - это 7 часов 00 минут = ( 60секунд *60 минут *7 = 25200)
const long DurationCh_1 = 10; //ДЛИТЕЛЬНОСТЬ срабатывания реле в ПЕРВОМ канале (в секундах)
void loop() // ПРОГРАММЫй безусловный ЦИКЛ
{
DateTime myTime = RTC.now(); //Читаем данные времени из RTC при каждом выполнении цикла
//----------Раздел обработки реле по времени ----
long utime = myTime.unixtime(); //сохраняем в переменную - время в формате UNIX
utime %= 86400; //Сохраняем в этой же переменной остаток деления на кол-во секнд в сутках,
//Это дает количество секунд с начала текущих суток
//------------КАНАЛ 1------------------------------
if ((utime >= StartRelCn_1) &&
(utime < (StartRelCn_1+DurationCh_1)))
//Если секунд с начала суток больше, чем задано для включения
//Но, одновременно и меньше, чем задано для включения + длительность
{
digitalWrite(RelayChn1,LOW); //Устанавливаем на ПЕРВОМ входе релейного модуля НИЗКИЙ уровень - реле срабатывает
}
else //во всех остальных случаях
{
digitalWrite(RelayChn1,HIGH); //Устанавливаем на ПЕРВОМ входе релейного модуля ВЫСОКИЙ уровень - реле выключается
}
|
собственно 2 вопроса
1. сожрет ли ЕСП подобный код залитый из arduino IDE ( если поделитесь ссылкой, буду благодарен)
2.как в данный цикл вписать следующую функцию?
таймер включается с 8 до 20
Кнопка позволяющую включить свет на 10 минут в период когда в цикле задан выключенный свет
те нужно каким то образом приостановить выполнение цикла, на ум приходит задание второго условия проверки те
Цитата:
цикл
проверка времени
если время от 8-00 до 20, то включить реле
если время больше 20 - реле выключено
но если дополнительная_переменная = 1 ( значение 1 задавать кнопкой\веб мордой)
то включить реле и приостановить проверку на 10 минут, по завершению вернуть доп.переменной значение = 0
закрыть цикл
|
|
|
|
18.01.2017, 12:08
|
#3
|
Бан за нарушения
Реєстрація: 27.11.2016
Звідки Ви: Arduino
Дописи: 98
сказав Дякую: 12
сказали Дякую 21 раз(и) в 16 повідомленні
|
Re: Акваконтроллер на базе ESP8266 ===www.aquaforum.ua===
Цитата:
Допис від BrainFree
2.как в данный цикл вписать следующую функцию?
таймер включается с 8 до 20
Кнопка позволяющую включить свет на 10 минут в период когда в цикле задан выключенный свет
|
Не буду спрашивать чё вы там с временем такое делаете хитрое...
Добавите проверку ещё в цикл loop
if ((utime >= 8_часов_ в секундах) && (utime < 20_часов_ в секундах)){
digitalWrite(RelayChn1,LOW);
else {
digitalWrite(RelayChn1,HIGH);
}
Другие проверки приостанавливать не нужно, когда свет горит, вы же не будете нажимать кнопку, но если вдруг нажмёте, то в конце 10 минут просто блымнет свет.
|
|
|
 |
Тут присутні: 1 (учасників - 0 , гостей - 1)
|
|
Параметри теми |
|
Параметри перегляду |
Комбінований вигляд
|
Ваші права у розділі
|
Ви не можете створювати теми
Ви не можете писати дописи
Ви не можете долучати файли
Ви не можете редагувати дописи
HTML код Вимк.
|
|
|
Часовий пояс GMT +3. Поточний час: 11:07.
|