Arduino: Таймер включения/отключения
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Втр, 13/12/2016 - 12:11
Всем привет. В прораммировании арудино новичок. Хочу чделать чтобы вытяжка включалась и работала допустим 1 час, затем по истечении времени отлючась на 2 часа и затем весь цикл повтрялся также. Функции delay прошу не предлагать, т.к. хочу чтобы параллельно с работой вытяжки работали другие процессы постоянно . Читал про millis но он обнуляется через 50 дней. а мне надо чтобы долго работал процесс управления вытяжкой. ЗАранее всем большое спасибо за ответы.
управлять нагрузкой (вытяжкой) хочу реализовать через реле модуль. Синего цвета такое SDR 05VDC-SL-C, параметры:AC 10A 250V. Вопрос ещё- какое максимально продолжительное время можно включать такое реле? всетаки оно китайское.
Корректировку при переходе millis через ноль сделать несложно. Но если хотите, то можно использовать например библиотеку RTClib. "Проиграйтесь" с этим скетчем softrtc.ino, обратите внимание на функцию unixtime().
По реле: если не превышать ток и напряжение, то о времени во включенном состоянии можете не переживать. Вот количество включений\выключений ограничено 10000 или 100000 раз, не помню точно, смотрите даташит.
Не нужно делать никаких корректировок через ноль. При правильном написании Вы этого не заметите.
Если Клапауций не запретит.
Тогда через какую функцию или способом можно все это реализовать?
Читал про millis но он обнуляется через 50 дней. а мне надо чтобы долго работал процесс управления вытяжкой.
ну, а мозги включить? допустим, случилось страшное и миллис обнулился - что произойдёт дальше?
Через millis(), как сразу и сказали.
Не хочу искать, посмотрите сами по форуму, проблема миллион раз обсуждалась.
Тогда через какую функцию или способом можно все это реализовать?
класс титановый велосипед для delay без delay().
А с RTC часами оптимально такой таймер программировать какой я задумал?
А имея RTC на борту, зачем вообще огород с миллис городить?
Хооршо попробую с миллис сделать таймер
Хооршо попробую с миллис сделать таймер
Имея RTC, в момент смены часа включаешь-выключаешь. Будет правда 1 через 1. Можно и усложнить.
Имея RTC, в момент смены часа включаешь-выключаешь. Будет правда 1 через 1. Можно и усложнить.
В библиотеке RTClib есть функция unixtime() аналогична millis(), но считает секунды.
Можете пример кода по millis() привести как в заданное время откл или вкл реле. А то я новичок в программировании ардуино. Но есть делание освоить. Попробую его сам разобрать как все работает. Буду очень признателен вам.
Да, конечно, на главной странице есть пример. Сделаете точно, как там и можете не бояться никакого обнуления millis.
класс титановый велосипед для delay без delay().
Здесь. Или велосипед Клапауция.
Примерно так, для изучения
СПАСИБО ВАМ ОГОРМНОЕ И ВСЕМ ОСТАЛЬНЫМ КТО ПЫТАЛСЯ МНЕ ПОМОЧЬ. РАБОТАЕТ
#define ventil 1
02
03
unsigned
long
currentPause = millis();
//массив данных.
04
bool
fl_pause;
//массив данных.
05
//unsigned long time = millis();
06
07
08
void
setup
()
09
{
10
pinMode(ventil, OUTPUT);
11
}
12
13
14
15
void
loop
()
16
{
17
if
(fl_pause == 0 && millis() - currentPause >= 2000)
//ДЛЯ ПРОБЫ -2сек. отключ
18
{
19
digitalWrite(ventil, HIGH);
20
currentPause = millis();
21
fl_pause = 1;
22
}
23
if
(fl_pause == 1 && millis() - currentPause >= 1000)
//ДЛЯ ПРОБЫ -1сек. включ
24
{
25
digitalWrite(ventil, LOW);
26
fl_pause = 0;
27
currentPause = millis();
28
}
29
}
Хочу потихоньку умный дом себе начать делать. НАчну с управлением вытяжки. Есть еще датчикк температуры в герм корпусе Далас и датчик газа MQ2 если почтой с алиэкспресса жду MQ 4 сиглализацию по утечке газа хочу сделать.
millis() можно было в начале loop один раз вызвать, а дальше переменную использовать. Чего его дёргать-то по нескольку раз?
А зачем Вам MQ2? Для дыма? Или у Вас сжиженный газ используется? Если второе, то зачем MQ4?
Зря Лешака на вооружение не взяли, а стали все в loop пихать. Когда количество датчиков превысит некоторый предел, будете в своих if-ах как в болоте продираться. ИМХО.
я читал в инете MQ2 для дыма. ОН мне сгодится для задымления а MQ4 для природного (у меня природный)
Ну, если для дыма, то понятно. Я бы, наверное, тоже так бы выбрал. Иногда хочется ещё взять что-нибудь для "общей чистоты воздуха" (MQ135, AQ-104 и т.п.), но я про такие только знаю, что есть, а насколько хороши не пробовал.
Для следующего датчика дальше будете глобальные переменные плодить, а потом в них путаться?
А можно еще такой вопрос. Хотя он не по теме таймера. Можно китайскую 5 вольтовую зарядку иолзовать для питания Arduino UNO. Амперы в зарадке выходные влияют на работу ардуино? Есть ЗУ от нокия 5В и 350мА.
Можно китайскую 5 вольтовую зарядку иолзовать для питания Arduino UNO.
Разных китайских 5-вольтовых зарядок чуть ли столько же, сколько китайцев. Одни можно использовать, другие не стоит.
Возможно неглобальные переменные буду использовать. внутри условий. обьявляя в каждой конретной операции
Напряжение сперва проверьте без и под нагрузкой. Хотя для нокии обычно неплохие.
Для следующего датчика дальше будете глобальные переменные плодить, а потом в них путаться?
Хооршо проверю
Порверил. Без нагрузки 8В а амперы скачать от 110 до 150 и и падают от 150 до 110 и опять растут
Для следующего датчика дальше будете глобальные переменные плодить, а потом в них путаться?
Я когда свою первую программу под Ардуино писал, так и поступил (массив из 15 значений), но сверяться потом с этой табличкой, труд великий был.(((( Хотя до сих пор работает.
Порверил. Без нагрузки 8В а амперы скачать от 110 до 150 и и падают от 150 до 110 и опять растут
Ф топку, а амперы накоротко что ли меряли?
амперы скачать от 110 до 150 и и падают от 150 до 110 и опять растут
Сикока-сикока? Япоонамать! Чем Вы их такие меряли? :)
Амперы мерил два щума мельтиметра к двум проводам.
Я так понял исходя из характеристик ардуино зарадка 5 вольтовая не подойдет надо больше вольт
Из сайта аруино:
Характеристики
Обычным мультиметром как всегда. В режиме 10ампер. Режим милиамперов пока не работает))) предохранитель сгорел(((
Я когда свою первую программу под Ардуино писал, так и поступил (массив из 15 значений), но сверяться потом с этой табличкой, труд великий был.(((( Хотя до сих пор работает.
Во-во.
Есть у нас такая присказка (из классической статьи в фольклёр перешла): "Выпускник приличного ВУЗа может за день написать и отладить 1000 строк кода и считает себя суперпрограммистом. Но когда он приходит в компанию, выясняется. что писать 100 строк кода в день не нужно, а нужно модифицировать программу из полумиллиона строк говнокода, которую писали и модифицировали разные люди в течение последних 20 лет. Вот тут-то парень начинает понимает разницу между жизнью и рекламным роликом".
Вам нужен нормальный, стабилизированный 5 вольтовый блок питания. Предварительно желательно набросать схемку хотелки и оценить потребляемый ток. MQ кажется весьма прожорливы.
Амперы мерил два щума мельтиметра к двум проводам.
К каким двум проводам? Его же надо последовательно с нагрузкой включать!
Потому и предохранитель сгорел, что так меряете.
Обычным мультиметром как всегда. В режиме 10ампер. Режим милиамперов пока не работает))) предохранитель сгорел(((
А вы почаще амперы напрямую меряйте, заодно камаз предохранителей купите.))))
Амперы мерил два щума мельтиметра к двум проводам.
К каким двум проводам? Его же надо последовательно с нагрузкой включать!
Потому и предохранитель сгорел, что так меряете.
Помните, сегодня, насчет оптимизма. Живой пример.))))
MQ кажется весьма прожорливы.
Ещё бы! У них же спираль для нагрева 33 Ома! Это уже 151,5мА
В даташите на MQ2 сказано 800mW (160mA), а на MQ4 - 750mW (150mA). Последнее на правду не похоже, т.к. при сопротивлении спирали 33 Ома уже 151,5 получается. Так, что я бы на 160 ориентировался
Получается чем больше датчиков и прочих механизмов чем больше ампер должно быть в блоке питания для ардуино?
Или учше для датиков одельное питание сделать а на ардуино только сигнальные провода и питание 5в??
Блок питание от компьютера подойдет? там выход на 5 вольт есть
Тутя сглупил то мерил амперы так.Поссчитал о если пишут 350мА подумал что выдает ЗУ столько
Ну посчитайте вы уже.(((( А то и аккумулятор от танка неплохо.
Блок питание от компьютера подойдет? там выход на 5 вольт есть. Ток такого выхода 20А.
Тутя сглупил то мерил амперы так.Поссчитал о если пишут 350мА подумал что выдает ЗУ столько
БП это не токовый драйвер. Написанные амперы (не всегда), это максимум, который можно получить без просадки напряжения и перегрева (выхода из строя) схемы.
Блок питание от компьютера подойдет? там выход на 5 вольт есть
И целых 20+ ампер! Безусловно подойдёт, если по размеру подходит. Правда, если сумеете его включить. Вы знаете как его вне компьютера использовать? Он там не вдруг-то включается.
Знаю. зеленый провод с землей коротнуть. Я ремонтом копмьютеров занимаюсь. В основном программным ремонтов. немного техническим (перепайка конденсаторов)