простейший таймер

Тема в разделе "Закажу проект", создана пользователем X7[SB], 3 окт 2019.

  1. X7[SB]

    X7[SB] Нуб

    Всем приветствую!
    есть искра, есть вот такой модуль экрана
    https://ru.aliexpress.com/item/620272375.html?spm=a2g0s.9042311.0.0.1f6933edMSbHj9
    и вот такие модули реле на 5 вольт управления
    https://ru.aliexpress.com/item/32804747524.html?spm=a2g0s.9042311.0.0.274233edymvXPK
    (если для хранения программы нужна память то есть модуль microSD https://ru.aliexpress.com/item/32523546123.html?spm=a2g0s.9042311.0.0.274233edLS9PfP, и еще, вдруг с ним проще - есть часы реального времени https://ru.aliexpress.com/item/2020927349.html?spm=a2g0s.9042311.0.0.274233edLS9PfP )
    нужен простейший таймер включения двух реле:

    при первом включении:
    запрограммировать время включения каждого реле
    запрограммировать время выключенного состояния каждого реле
    запрограммировать количество непрерывных прогонов циклов включения каждого реле
    запрограммировать время паузы между прогонами.
    запустить.
    Если отключалось питание, то при повторном включении запускать с "последними" данными таймингов, внесенными при программировании. Если нажата кнопка RST то сбрасываем внесенные данные и возвращаемся в "первое" включение
    значения на экране показываются как в обычных часах - 5 знаков 00.00 (первый регистр слева направо - десятки часов, второй - единицы часов (без пересчета в сутки), третий - десятки минут (без пересчета в часы и добавления единицы к часам при переходе через 60), четвертый - единицы минут. т.е. не надо делать добавление единицы к старшему регистру времени, просто, нажата кнопка вверх после значения 9 - сброс на ноль в данном регистре и все.
    пример: после включения мигают ноли в первой строке "вкл р1 00.00" - , изменить можем только регистры времени, т.е. "курсор" стоит сразу на первом ноле в строке, кнопками up-down выбираем значение в регистрах, кнопками left-right переходим между регистрами, кнопкой select подтверждаем введенные значения с переходом во вторую строку - там начинают мигать ноли в тексте "вкл р2 00.00", после ввода и нажатия select, новый текст в обеих строках
    выкл р1 00.00
    выкл р2 00.00
    программируем время выключенных реле в цикле
    после ввода текст в обеих строках
    цикл р1 00
    цикл р2 00
    вводим количество циклов для каждого реле, после ввода текст в обеих строках
    пауза р1 00
    пауза р2 00
    вводим количество часов паузы между циклами для каждого реле
    после ввода текст в строках
    старт
    сброс
    при выборе старт - запись значений в память (для повторных запусков после отключения питания) и запуск работы.
    при выборе сброс - переход к первому шагу с перепрограммированием всех параметров.
    если во время работы нажат rst - переход к первому шагу с перепрограммированием всех параметров.

    Во сколько оцените сие удовольствие?
     
  2. DetSimen

    DetSimen Guest

  3. DetSimen

    DetSimen Guest

    тока учти, что у этого экрана кнопка RST заведена жестко на RST контроллера, поэтому никогда нельзя сказать точно, от чего он перегрузился, или питание подали или была нажата RST
    и модуль 1307 выкини, не пожалей 50р на DS3231