Могу ли я использовать потенциометр для изменения продолжительности работы таймера без написания кода для каждого временного интервала?

Я хотел бы иметь возможность использовать Arduino в качестве таймера для включения/выключения нагрузки 120 В переменного тока. Я думаю, что смогу сделать это с помощью Arduino, запускающего небольшое реле, управляющее контактами на 120 В. Но мне нужен дисплей для отображения значения продолжительности таймера и потенциометр или энкодер (ручка) для управления длительностью . Значения времени будут короткими, от 0,1 до 20 секунд, но их нужно будет легко изменить с помощью потенциометра или энкодера и отобразить на дисплее. В идеале, на дисплее будет отображаться продолжительность и обратный отсчет до нуля при срабатывании отдельного замыкания электрически сухого контакта. Несколько светодиодов показывают, что питание включено, реле включено, а один показывает продолжительность, которую можно изменить с помощью ручки (индикатор «установленного режима»).

Я вижу, как установить продолжительность таймера в коде, но мне нужно иметь возможность нажать кнопку или что-то еще и вручную повернуть ручку, чтобы установить другую продолжительность таймера без необходимости писать/изменять код каждый раз. время, когда я хочу изменить продолжительность.

Какая-либо помощь указывает новичку в правильном направлении, где искать?

Спасибо, dhg2

, 👍0

Обсуждение

Я определенно рекомендую использовать поворотный энкодер для изменения и запуска таймера. Если вы используете потенциометр, то он будет физически установлен в какой-то момент, в то время как поворотный энкодер может вращаться непрерывно, что позволяет сбрасывать таймер после каждого триггерного события, что упрощает выбор времени. Для отображения таймера вы можете использовать два 7-сегментных дисплея вместе или, что еще проще, ЖК-экран I2C. У Adafruit много крутых светодиодных матриц. Почему бы вам не найти то, что вы хотели бы использовать, и внести изменения в свой вопрос, чтобы мы могли помочь вам с конкретным кодированием позже., @HavocRC


2 ответа


1

Если вы решили использовать потенциометр, вы можете создать схему делителя напряжения с линейным потенциометром и парой резисторов и подать результат на аналоговый вход Arduino.

Я согласен с Havoc, что поворотный энкодер или кнопки были бы хорошим вариантом, а ЖК-дисплеи I2C дешевы и просты в интерфейсе.

Я сам работаю над контроллером питания и использую кнопки вверх/вниз, ЖК-дисплей и программное обеспечение, позволяющее пользователю выбирать время с шагом, который увеличивается по мере того, как пользователь удерживает кнопку. (например, удерживая нажатой кнопку «увеличить время», можно увеличить «время включения» на 1 минуту в течение 5 минут, затем увеличить до шага с шагом 5 минут, затем 15, затем 30, затем по часу. )

,

0

С помощью потенциометра вы можете получить аналоговое показание от 0 до 1023. Разделите это значение на 50, чтобы получить 20 диапазонов. Тогда

 delayTime = (analogRead(Ax)/50);  
,