Таймер своими руками с сегментным индикатором

Таймер своими руками с сегментным индикатором

Дата: (Дата — Месяц — День недели)

А это датчик на улицу выкинул:

6 режимов индикации:

Автопоказ даты и температуры каждые 35 секунд.

Описание кнопок:
Кнопка «-» в режиме установки часов и кнопка перебора режимов индикации в рабочем режиме часов.
Кнопка «ОК» — для входа в режим установки часов.
Кнопка «+» в режиме установки часов и кнопка показания даты и температуры в рабочем режиме часов.

Перебор режимов индикации:
Жмём кнопку «-» — перебор режимов индикации.

Первый режим индикации — цифры плавно гаснут и плавно появляются новые.

Жмём ещё раз
Появится:

Второй режим индикации — часики работают как обычно.

И ещё раз
Появится:

Третий режим индикации — цифры при смене меняются перебором.

Ещё раз нажимаем
Появится:

Четвёртый режим индикации — цифры при смене накладываются друг на друга.

Ещё одно нажатие
Появится:

Пятый автоматический режим индикации — режимы индикации сами меняются каждый час.

И ещё одно нажатие
Появится:

Шестой автоматический режим индикации — режимы индикации сами меняются каждые сутки в 00:00.

Включение / выключение автоматического показа даты и температуры каждые 35 секунд.
Жмём и держим в течении 3 секунд кнопку «+» — показ даты/температуры.
Если появится:

Установка времени:
Для установки времени жмём и держим кнопку «ОК» в течении 3х секунд во время показа времени.
Часы переходят в режим установки времени и начинают мигать часы.
Кнопками «-» и «+» устанавливаем час и нажимаем кнопку «ОК» и переходим к установке минут.
И так далее в последовательности час > минуты > число > месяц > день недели.
При долгом удержании кнопок «-» или «+» цифры автоматически сами убывают или прибавляются.

Часы собраны на минимуме микросхем:
PIC16F628 — контроллер часов.
DS1307 — сами часики.
BU2090 — Дешифратор катодов.
DS18B20 — термодатчик.
DS32KHz — микросхема генератора для точности хода.
Если точность не нужна и вы просто подберёте точный кварц на 32.768
то DS32KHz можно и не ставить.

Схема стандартная №2.

Она нужна если вы будете использовать многосветодиодные индикаторы.
Типа таких:
(фотка)
Для которых 5ти вольт анодного напряжения маловато будет.
Для переключения контроллера на эту схему нажимаем и держим кнопку «-» и включаем часы.
Для обратного перевода делаем тоже самое.
Это команда инвертирует выходные импульсы с контроллера для управления анодными ключами.

Регулируя питание в такой схеме можно менять яркость часиков.
Схемка регулятора яркости:

Настройка катодов, то есть назначение сегментов.
В часах можно использовать любые индикаторы.
Для платы что входит в проект я использовал три светодиодные сборки от модулей стиральных машин DE07-00011A.

Прошивка контроллера рассчитана на использование моей платы для моих индикаторов,
если будете использовать другие или рисовать свою плату
нужно после сборки платы и запуска часов переназначить подключение сегментов к BU2090.
Т.к. их порядок нарушается — например вместо 0ля или 7ка будет белеберда.

Исключение только для точки, если она есть в индикаторе.
Точки надо подключать только к 15му выводу BU2090.

Сам процесс:
Жмём и держим кнопку «+» и включаем часы — появится 8ка — показывая что все сегменты подключены.

После отпускания кнопки в 1м разряде загорается один из сегментов.
Начинается перебор сегментов.

Надо назначить сегменты от A до G — согласно рисунку ниже:

При зажигании нужных сегментов нажимаем кнопку «+»
и так последовательно от появления сегмента A до G — согласно рисунку.

Затем загорается 2й разряд — это разрешение мигания секундных индикаторов.
На тот случай если вы секундные семисегментники расположите по центру между часами и минутами вместо секундных точек.
Тут так же
Если нажать кнопку «+» на 0 то мигание отключается.

Если на 1 то включается.

После чего часы переходят в рабочий режим.

Платы нарисованы с помощью программы Sprint Layout 5.0
На плате «LED clk» кнопки расположены сверху.
На плате «LED clk_v2» — сбоку.
Плата «LED clk_v3» для 2го варианта схемы — для больших индикаторов.

Сдесь фотка верхней части платы «LED clk_v2» с подписанными элементами для большей наглядности:

А тут со стороны монтажа:

Сдесь фотка верхней части платы «LED clk_v3» с подписанными элементами для большей наглядности:

Тут со стороны монтажа:

Прошивка контроллера Clck_6x14_v7.hex показывает день недели буквами — пН, оР, сР, ЧР, пА, сb, ос.

Почему день недели, а не год? — (Вы меня можете спросить)
Да потому что все и так знают какой сейчас год, а вот с днём недели иногда проблемы возникают.

Прошивка Clck_6x14_v7с.hex имеет коррекцию времени.
В период установки времени после установки дня недели
загораются часы и секунды.

В часах кнопками «-» и «+» устанавливаем время в секундах
на сколько нужно подводить время — диапазон от -4 до +4 секунд.
Затем нажав кнопку «OK» переходим к установке дней.
Если поставить 00, то коррекция будет происходить каждый день в 03:00.
Если 01, то через день.
Если 02, то через два дня.
И т.д. до 31го дня — то есть через 31 день.
Коррекция потребовала места в контроллере поэтому пришлось пожертвовать назначением сегментов.
Но их можно назначить сначала зашив в контроллер прошивку Clck_6x14_v7.hex,
назначить на ней сегменты и мигание секунд,
а потом не трогая EEPROM контроллера зашить прошивку с коррекцией.
Все настройки сохранятся.

Прошивка Clck_6x14_v7сb.hex имеет ещё и будильник помимо коррекции времени.
Чтобы поставить будильник жмём и держим кнопку «OK» в течении 3х секунд.
Когда на дисплее появится время ранее установленного будильника, а секундах появится b1 отпускаем кнопку.

Если кнопку продолжать держать, то мы войдём в установку времени.
Выставляем час и миеуты.
Если поставить 00:00 то будильник отключается.

Сработавший будильник отключается только кнопкой «OK».
Это сделано для того чтобы вы его не смогли пропустить, даже если увидите часики через пару — тройку часов.
Во время срабатывания на дисплее показывается его время, а вмсто секунд — b1.

Так же в момент срабатывания будильника включаются на постоянное свечение светодиоды LD1 — LD3 и мигают LD4 — LD6.

В этой прошивке так-же отсутствует назначение сегментов.
Так что если будете использовать своё подключенте сегментов сначала зашейте первую прошивку, назначьте сегменты
и перезашейте эту прошивку не трогая EEPROM контроллера и всё сохранится.
Если же использовать будете мою схему, то сразу шейте эту прошивку — всё сразу будет работать.

Ну вроде всё рассказал.
Будут вопросы — пишите в форум.

НАДЕЮСЬ У ВАС ПОЛУЧИТСЯ.

Источник

Таймер своими руками с сегментным индикатором

Таймеры / Статьи — Таймер

Многоинтервальный суточный таймер-часы.

Вашему вниманию предлагается таймер, который может включать нагрузку в разные периоды суток на разное время. Например с 8:00 до 8:10, затем с 14:00 до 14:01, затем с 20:00 до 23:30 и т.д.
В качестве управляющего устройства применен распространенный контроллер PIC16F628. Индикация осуществляется при помощи четырех светодиодных семи сегментных индикаторов с общим анодом. Управление — при помощи кнопок S1-S4.
Назначение кнопок :

S1 — Set (установка режима)
S2 — +Ч (увеличение часов)
S3 — +М (увеличение минут)
S4 — Cancel (отмена)

После включения таймера необходимо при помощи кнопок +Ч и +М установить текущее время. Для ввода интервалов включения необходимо нажать кнопку Set, показания индикатора сменятся на надпись SEL с номером интервала. Нажатием кнопки +М необходимо выбрать номер интервала, который будет редактироваться. После этого (нажав Set) кнопками +М +Ч ввести время включения для даного интервала. Если необходимо выключить интервал то установите часы в значение 24. Снова Set. Теперь коректируем время выключения. Снова Set — устройство записывает введенный интервал в долговременную память (после выключени/включения устройства введенные интервалы сохраняются).

В тестовой прошивке количество интервалов ограничено 3-мя.
Для получения прошивки с расширеным количеством интервалов обращайтесь к автору blackblick@yandex.ru

Скачать прошивку для общего анода (обновление прошивок 07,02,2011)

Скачать прошивку для общего катода (обновление прошивок 07,02,2011)

Скачать прошивку v3 для общего анода

Скачать прошивку v3 для общего катода

Описание прошивки V3:

Резервное питание на случай пропадания сети. Прошивки переписаны — если работает от батарейки то индикатор погашен, нагрузка выключена.

Если ставить батарейку на 4.5 В то можно исключить стабилитрон и резистор 100 Ом а батарейку цеплять прямо на вывод 14 контроллера.

Источник

7-сегментные часы NeoPixel с таймером обратного отсчета и управлением с пульта



Из этой статьи мы с вами узнаем, как сделать 7-сегментные неопиксельные часы с таймером обратного отсчета. Часы изготавливались под конкретную задачу, а именно в подарок родителям. Родители мастера занимаются фитнесом и зачастую им нужен таймер для отслеживания времени тренировки. Такой таймер есть практически на каждом современном смартфоне, но пользоваться смартфоном во время тренировки не совсем удобно.

Особенностью эти часов является:
— 7-сегментный дисплей, показывающий текущее время дня и подсвечивающий кольцо NeoPixel в соответствии с текущей минутой часа
— ИК-датчик, который позволяет пользователю регулировать настройки часов / таймера с ИК-пульта дистанционного управления
-Функция таймера обратного отсчета, которая позволяет пользователю установить таймер обратного отсчета.
-Периодический таймер обратного отсчета, который будет бесконечно зацикливать таймер с перерывом, вводимым пользователем между ними. Например, HIIT-тренировка, которая может потребовать 1-минутного таймера с 30-секундным перерывом между подходами.
-Пьезозуммер, который гудит, когда таймер достигает 0. Также обеспечивает звуковую обратную связь при нажатии кнопки на ИК-пульте дистанционного управления.

Давайте посмотрим некоторые режимы работы часов.

Мастер хотел, чтобы родители могли регулировать часы на расстоянии, поэтому было решено использовать ИК-приемник / пульт. В качестве звукового оповещателя был использован пьезозуммер.
PDF-версия схемы можно скачать ниже.
Exercise_Clock_Schematic.pdf

Следует отметить, что и модуль RTC, и 7-сегментный дисплей используют протокол I2C. На Arduino Pro Mini эти контакты соответствуют A4 (SDA) и A5 (SCL). ИК-приемник подключается к контакту 2. Вход данных NeoPixel может быть подключен к любому цифровому выводу, в данном случае это вывод 6. Наконец, пьезозуммер подключается к контакту 3 и к базе транзистора 2n2222, для увеличения громкости зуммера.




Шаг второй: код
Убедившись, что отдельные компоненты работают должным образом, мастер переходит к установке основной программы.
Сначала нужно установить следующие библиотеки:
— Wire.h
— Adafruit_GFX.h
— Adafruit_LEDBackpack.h
— RTClib.h
— Adafruit_NeoPixel.h
— IRsmallDecoder.h
В void loop (), по сути, были созданы 4 разные «страницы».
— «Домашняя страница часов»
o Отображает текущее время на 7-сегментном дисплее + мигание точки каждую секунду
o Загорается кольцо NeoPixel, соответствующее минутам в час (например, в 3:10 первые 10 светодиодов NeoPixel становятся красными, а остальные остаются белыми)
o При нажатии кнопки таймера на ИК-пульте дистанционного управления выполняет переход на «страницу настроек таймера».

— «Страница настройки таймера»
o Позволяет пользователю установить таймер обратного отсчета с помощью ИК-пульта дистанционного управления с шагом 05 секунд, 1 минута (ы) и / или 10 минут (ы).
o Подсвечивает кольцо NeoPixel в соответствии с выбранными секундами / минутами в эстетических целях.
o При нажатии нажатие на кнопки ИК-пульт позволяет выполнять переход на:
— Кнопка «Домой» — возвращает на «Домашнюю страницу часов».
— 05 секундная кнопка — добавляет 05 секунд к таймеру
— Кнопка 1 минута — добавляет 1 минуту к таймеру
— Кнопка 10 минут — добавляет 10 минут к таймеру
— Кнопка сброса — сбрасывает таймер обратно на 0
— Кнопка повтора часов — переводит пользователя на «Страницу настроек таймера перерыва»
— Кнопка Loop — загорается двоеточие и сигнализирует, что таймер обратного отсчета переведен в режим повторяющегося цикла. Если функция выключена, таймер обратного отсчета пройдет один цикл и вернется на «Домашнюю страницу часов».
— Кнопка воспроизведения — запускает таймер обратного отсчета, запустив 3-секундный обратный отсчет и переведя пользователя на «страницу обратного отсчета таймера».

— «Страница обратного отсчета таймера»
o Отсчет предварительно установленного пользователем таймера на дисплее
o «Гасит» светодиод на кольце NeoPixel, соответствующий текущей секунде / минуте.
o Когда таймер достигает 0, пользователь либо переходит на «Домашнюю страницу часов», либо запускает таймер паузы в зависимости от того, был ли цикл включен пользователем.
o Выполняет команду при нажатии кнопки «Домой» на ИК-пульте дистанционного управления, чтобы остановить таймер и вернуться на «Домашнюю страницу часов».

Источник

Читайте также:  Установить смеситель для раковины своими руками
Оцените статью