Протые часики с секундами на 7ми сегментных индикаторах с календарём и термометром, + 6 эффектов индикации.
Автор: SLvik, slslslslsl@rambler.ru
Опубликовано 21.01.2014
Создано при помощи КотоРед.
Мой НОВОГОДНИЙ ПОДАРОК. ВСЕХ С НОВЫМ 2014м ГОДОМ.
Это простеникие часики - термометр на семисегментных светодиодных матрицах с общим анодом.
Что они могут:
Время:
Дата: (Дата - Месяц - День недели)
Температура дома:
А это датчик на улицу выкинул:
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 контроллера и всё сохранится. Если же использовать будете мою схему, то сразу шейте эту прошивку - всё сразу будет работать.
Ну вроде всё рассказал..... Будут вопросы - пишите в форум.