Таймер на потенциометре
- Войдите на сайт для отправки комментариев
Втр, 12/02/2019 - 15:07
Здравствуйте уважаемые!
Прошу помощи,понимаю,что тема не сложная,но бьюсь над ней уже неделю,не понимаю логику работы(
суть проблеммы: нужен таймер ,который будет включать реле на 2 минуты через задананный потенциметром промежуток времени(макс задержка 24 часа).
и выводить информацию на дисплей lcd1602(достаточно в часах или минутах)
это лишь кусочек программы,остальное написанно и работает. а вот таймер никак не победю)
Заранее спасибо за помощь!!!!
Головную тему в этом разделе читали, или ну его нах.
Исправился)
Головную тему в этом разделе читали, или ну его нах.
Читаете и осмысливаете это. Читаете про функцию "map".
Рисуете алгоритм работы своего таймера (сразу вопросы: как узнать, что пора начать отсчитывать интервал, что делать если в процессе отсчета значение изменилось и т.д.). Переводите свой алгоритм в код, наслаждаетесь.
а чем таймер запускать? кнопкой? Логика программы будет такая. Создайте два таймера на миллис. Один который вам нужен, .второй на 2минуты для реле.
Также в программе будет еще несколько моментов.
- считывание кнопки;
- считывание потенциометра (в зависимтости от этого показателя меняется величина вашего таймера)
- вывод на экран;
Если кнопка нажата запускаете ваш таймер, по его окончании выключаете ваш таймер и включаете реле и второй таймер. По его окончании выключаете реле и таймер2.
спасибо за правильные вопросы)
таймер запускается сразу после включение ардуино,если во время работы значение изменилось,то начать заново с новым значением
От, теперь алгоритм можно начать сочинять.
а как заставить правильно считывать потанциометр?в смысле чтобы программа понимала что это время
Вы про "map" почитали?
если во время работы значение изменилось,то начать заново с новым значением
при таком алгоритме надо тщательно бороться с дребезгом, иначе программа НИКОГДА не дойдет до срабатывания таймера
при таком алгоритме надо тщательно бороться с дребезгом, иначе программа НИКОГДА не дойдет до срабатывания таймера
Боюсь, это Вы очень далеко заглядываете.))))
получился вот такой код.остались проблемы: возврат таймера в ноль и почемуто не вкл реле
странно, что реле не включается :) По этому коду оно не должно выключатся
ТС - в этом коде куча ошибок, как в синтаксисе )условие в строке 16 - неверное), так и в логике.
Вы время задаете и отсчитываете совершенно неправильно. У вас максимальный интервал получается 1.5 секунды - вы именно такой хотели? Вроде в начале ветки речь шла о часах...
спасибо КЭП!
поэтому и прошу помощи!
как правильно сделать цикл ,почему 1,5 ,где это прописанно?
А вот еще мне интересно, почему всем неофитам, так впадлу писать алгоритм. Или настолько великими себя чувствуют, что все сразу с головы придумывают? Ну, ну.
спасибо КЭП!
поэтому и прошу помощи!
как правильно сделать цикл ,почему 1,5 ,где это прописанно?
ну знаете, если на прямое указание на ошибку вы отвечаете "спасибо КЭП!" - это что означает? Что вы и без меня ее видите? - так исправляйте
Вы может рассчитывали, что кто-то вам готовый код напишет? - точно не я
я расчитывал что мне подскажут какой оператор использовать,этого мне достаточно.
пока что я вижу как слепому говорят что он слепой
а как заставить правильно считывать потанциометр?в смысле чтобы программа понимала что это время
Никак! Считываете с потенциометра напряжение и переводите его в единицы миллис, от 0 до 24 часов
я расчитывал что мне подскажут какой оператор использовать,этого мне достаточно.
пока что я вижу как слепому говорят что он слепой
Вам в посте 9 уже подсказали - оператор - map
я расчитывал что мне подскажут какой оператор использовать,этого мне достаточно.
пока что я вижу как слепому говорят что он слепой
Пилять, я уже три раза сказал, напиши алгоритм. А это значит, что человеческим языком, по шагам, распиши все действия своей программы. А потом можно операторы к нему прикладывать.
я расчитывал что мне подскажут какой оператор использовать,этого мне достаточно.
да вот оказывается недостаточно. оператор вам подсказали - map - да только что толку. вы ж его использовать не смогли. Потому что не умеете пользоваться миллис, не понимаете, как оно работает. И синтаксис языка знаете нетвердо. И алгоритм заранее не прописали... и многое еще.
Вы думаете. вас кто-то по каждому этому шагу за руку проведет? - У кого-то куча времени? - нет. Вам дали ключевые слова. где у вас главные проблемы - садитесь и читайте учебники.
Да зайка ты мой неноглядный,да открой ты глазки своего великого "Я"
оператор map я использую в самой программе,алгорит написан для всей программы.
А то что я оператор не могу грамотно применить....ТАК И ТЕМА В РАЗДЕЛЕ "ДЛЯ НОВИЧКОВ"
и мы с вами знаем что кода отсилы строк 10;
но так хочется пообщатся,верно?;)
Короче, похоже что сам все знает. Я отваливаю.
ОК. Ответьте на вопрос: в 10-ой строке у Вас записано
pVent = map(pVent, 0, 1023, 0, 1440);
Что у Вас означает число 1440?
upd. Или 60000 в строке 13 нового скетча
pVent = map(pVent, 0, 1023, 0, 60000);
'эти цифры не имееют значения и используются для теста,в конечном варианте они будут равны необхъодымым константам
Т.е., что туда надо подставить для заявленых 24 часов Вы уже определились?
а в этом уже и нет необходимости;)
Это был скетч кухонного таймера, но пока он писался - ужин сбёг с плиты. Поэтому ничего уже не надо.
Это был скетч кухонного таймера, но пока он писался - ужин сбёг с плиты. Поэтому ничего уже не надо.
Позавидовали? И скетчик пописала и мужу ужин приготовила, лепота )))