|
Теги статьи: |
Вторая жизнь часам Электронника 12-41А
Автор: Evgen_326
Опубликовано 20.10.2024
Создано при помощи КотоРед.
История и замысел проекта:
В 1990 году были приобретены электронные часы «Электронника 12-41А», которые достаточно долго выполняли свои функции. Но время не стоит на месте, а электронные элементы имеют свойство терять свои параметры и выходить из строя. Корпус часов сохранился в достаточно хорошем состоянии, а вот элементы, такие как трансформатор, конденсаторы и индикатор умерли. Часы были убраны в кладовку и так пролежали лет 5, дожидаясь своей участи, отправится на помойку истории или получить новую жизнь.
Наступил новый 2024 год и принёс новую идею по поводу часов.
Родную начинку на разбор, собираем схему из новых элементов и даем часам новую жизнь с сохранением функционала кнопок, добавляем возможностей отображать дополнительной информации.
Алгоритм работы:
При включении питания (прошивка уже залита) Arduino NANO считывает данные с модулей DS3231 и BME280, и выводит информацию на LCD1602 + I2C. Пользователь в процессе эксплуатации, может в ручном режиме нажимая на кнопки, устанавливать (корректировать) на модуле DS3231 текущее время, дату и время будильника. Кроме того, будильник может быть принудительно включен или выключен переключателем "СИГНАЛ", при включении будильника переключателем "СИГНАЛ" загорается светодиод, указывая на то, что режим будильника активен. При срабатывании будильника пользователь может его остановить, нажав на сенсорную кнопку "СИГНАЛ-СТОП", которая распологается в верхней правой части корпуса. Подсветка LCD1602 автоматическая и может быть выключена пользователем нажатием на сенсорную кнопку "ИНДИКАЦИЯ", которая распологается в верхней левой части корпуса.
При нажимании кнопки D4 «СБРОС» происходит перебор элементов меню, для коррекции часов, даты и месяца, установки времени будильника.
Включение или отключение будильника осуществляется переключением тумблера D5"СИГНАЛ".
Установка времени срабатывания будильника осуществляется кнопками: кнопка D2"ЧАС" = кнопке «+», кнопка D3"МИН" = кнопке «-», кнопка «СБРОС»=SET.
Отключение будильника во время срабатывания в установленное время, сенсорной кнопкой №2 D12.
Требования:
- автоматическая регулировка яркости дисплея;
- часы;
- дата;
- день недели (на русском);
- будильник;
- выключатель будильника;
- термометр комнатной температуры;
- датчик атмосферного давления;
- автономное питание не менее 72 часов;
- выключатель дисплея (для экономии энергии в автономном режиме);
- выключение всех модулей (через тумблер, для жесткой экономии АКБ, но модуль DS3231 продолжает работать от своей батареи);
- питание - 5V
Модули и элементы:
- Arduino NANO
- DS3231 (часы реального времени)
- LCD1602 + I2C
- BME280 (датчик температуры, влажности и давления воздуха I2C/SPI)
- TZT PGM5537 (фоторезистор)
- TP4056 (контроллер заряда АКБ)
- АКБ 18650 (2000 мА)
- TTP223 (сенсорная кнопка) х2 (70-500 мкА) 11 x 15 мм
По моей просьбе, основной костяк кода прошивки написал liman324 с http://forum.rcl-radio.ru/viewtopic.php?id=129, ну а я его уже допиливал...
Файлы:
Скейч (прошивка)
Все вопросы в Форум.