Полезное

воскресенье, 10 мая 2020 г.

Часы ИН-16

Автор: RoboC

Лампа: ИН-16
Схема: есть ( PIC16F887)
Плата:есть (Sprint-Layout 6)  
Прошивка:есть
Исходник: нет
Описание: eсть
Особенности: обычные часы ds3231 + подсветка + доп.фунции .







Схема:

Эти часы я сделал очень давно, они лежали у меня без корпуса.

В базовом варианте это обычные часы со стандартными функциями:
  • индикация времени;
  • индикация даты;
  • эффекты перебора цифр;
  • ночной режим либо через датчик, либо по времени;
  • будильник;
  • "маятник" точками;
  • коррекция хода через регистр "aging" ds3231;
  • настройка катодов.
Схему этой части часов, можно наблюдать вначале статьи, и, если дополнительный функционал часов не нужен, то сборкой на этом можно ограничится.




Платы сделаны под ЛУТ!

Так же верхнюю сторону платы индикации можно не изготавливать. 

И все же, при изготовлении оной, в функционал можно добавить:
  • RGB подсветку на WS2812 (выбранный цвет/перелив-радуга);
  • сенсорные кнопки(работают вместе с обычными или без них);
  • возможность устанавливать датчик освещения в разные места;
  • настройка яркости подсветки ночью.
Естественно, работоспособность RGB диодов необходимо проверить до установки ламп.


Схема приобретет такой вид:





Это не весь перечень того, что можно добавить в функционал часов.
Если собрать передатчик от этого проекта и впаять на плату дополнительно nrf24L01, то к индикации времени и даты, добавится индикация температуры с этого датчика



Прошивка умеет принимать температуру от 2 датчиков.

Есть еще один момент! Первые часы на ГРИ ИН-12 я собрал в далеком 2009 году! Они непрестанно трудятся, показывая время у меня в зале, но, вот незадача, если мне приходится заходить в меню этих часов, то вспомнить что означает каждый пункт меню проблематично.
Есть, на мой взгляд, три метода решения этой проблемы:
  1. Смирится и лазить в инет или исходник, чтобы прочитать названия пунктов.
  2. Управлять часами с иного устройства через интернет или блютуз.
  3. Сделать так, чтобы часы озвучивали мне названия пунктов сами.
Первый пункт это уже не "наш метод"!
Второй - хороший вариант, но со сменой телефона и версии операционки придется скачивать и устанавливать программу опять и далеко не вариант что через 5-8 лет она будет актуальна. Реализацию через интернет на ESP8266 я отложил.
Решил я остановится на 3 пункте!

Почему не звуковой модуль китайский, аля DFPlayer Mini? Его нет в наличии. Мое мнение, что через пару лет его не найдешь в продаже или протокол поменяется. UART занят.

Т.к. МК PIC16F887 восьми битный, то хранение и обработка звука на SD карте(fat) дело неблагодарное, с точки зрения затраченного места во флэш памяти. Куда меньше места займет код для работы с SPI flash 25LXX (их разновидностей очень много). В конце концов на ней выбор и остановился.
Звук не предполагался при начальной разработке платы, чтобы реализовать эту функцию придется сделать 2 дополнительные платы и подключить их навесным монтажом.


Плата с памятью


Звуковая плата  на базе PAM8403 (можно сделать свою - удобнее , можно использовать стандартную  покупную - придется обрезать и напаивать элементы управления )


Фото подключения




В дампе звуков озвучены пункты меню, пункты установки будильника, звонок будильника.

Можно создавать свои звуки ;)


Что бы прошить его надо воспользоваться вот таким программатором на CH341( 2.2$ ), например, или обратится в сервисный центр, по который ремонтирует ноутбуки и т.п., там за небольшие деньги ее прошьют. Есть прошивка, где можно дамп через блютуз, но на скорости 9600 это очень долго (неприлично долго)!


Для удобства синхронизации времени на часах, я добавил поддержку установки времени по блютуз через приложение андроид при подключении такого копеечного SPP Bluetooth-модуля(на BK3231,HC-06 и т.п. скорость 9600).






Часы на телефоне, обычно, синхронизируются по NTP и нажатием одной кнопки выставляется время и дата на устройстве с хорошей точностью.
Так же приложение может дублировать нажатие кнопок.




Что должно получится я написал, теперь пришло время рассказать как этим пользоваться.

Настройка катодов

Включаем часы с нажатой клавишей "-", когда появилась версия(какие то цифры не экране), отпускаем, выпираем клавишей "-" цифры по порядку от 0 до 9, перегружаем устройство.

Переключение эффектов

нажатие левой кнопки переключает эффекты.
4 режим переключение раз в час
5 переключение раз в день

Управление подсветкой

Нажатие на среднюю кнопку включает статическую подсветку из памяти, еще одно нажатие - выключает, следующее включает динамическую подсветку, очередное - выключает и запоминает цвет. Все повторяется по кругу. 

Меню и установка времени

Длинное нажатие кнопки МЕНЮ включает меню, короткое  установка даты/времени. 
Пункты меню для тех у кого нет звука:
  • настройка часов будильника ;
  • настройка минут будильника;
  • срабатывание будильника в понедельник;
  • срабатывание будильника во вторник;
  • срабатывание будильника в среду;
  • срабатывание будильника в четверг;
  • срабатывание будильника в пятницу;
  • срабатывание будильника в субботу;
  • срабатывание будильника в воскресенье ;
  • настройка часов начала ночного режима;
  • настройка часов конца ночного режима;
  • ночной режим вкл/выкл;
  • почасовой сигнал; 
  • маятник;
  • коррекция хода часов;
  • ночная яркость подсветки.
Если в пунктах "настройка часов начала ночного режима" и
"настройка часов конца ночного режима" значения совпадают, то пункт "ночной режим вкл/выкл" включает/выключает  фотодатчик.

19 комментариев:

  1. Алексей,приветствую! Часики смачные получились.

    ОтветитьУдалить
  2. Очень хотел собрать такие, но думал сложно для меня. А pic16f887 заменить на pic16f887a заменить без изменения прошивки можно?

    ОтветитьУдалить
    Ответы
    1. Честно говоря, у микрочипа, я не нашел отдельный ds на 887a, поэтому склонен считать его улудшеным, в плане производства, образцом.

      Удалить
    2. Он подойдёт.
      Если у вас есть такой чип на руках, пришлите мне фотку оного.
      Очень хочется взглянуть :)
      Из магазина к вам придет обычный 887 :)

      Удалить
  3. Здравствуйте! Хотел перерисовать плату по схеме. Не подскажите U4 что такое и куда ведут DOT1 и DOT2?

    ОтветитьУдалить
    Ответы
    1. U4 блютуз модуль
      DOT1-DOT2 - контактные площадки на плате, куда можно подключить разделительные секундные точки при необходимости.
      Их яркостью ночью невозможно управлять!Что бы исправить это , необходимо доработать немного схему, добавив транзистор , 2 резистора и стаб.

      Удалить
    2. На схеме подсветки у U2-vdd наверное подключается к питанию, а не к RGB?

      Удалить
  4. как запрограммировать PIC16f887 в корпусе qfp программатором Pickit3?

    ОтветитьУдалить
    Ответы
    1. Подпаивайтесь проводками к процессору и програмируете прямо на плате.
      На одной из фото видны эти разноцветные провода и на плате, насколько мне помнится , они подписаны.

      Удалить
    2. Называется: фото подключения.
      4 разноцветных провода идут к программатору

      Удалить
  5. Как регулируется яркость индикаторов дневного режима, т.е в обычном режиме? высокое напр 170 В, а индикаторы еле светятся?

    ОтветитьУдалить
    Ответы
    1. Фото резистором или по времени.
      Выставляется в меню..

      Удалить
    2. Использую прошивку in16_db45_rev25.hex, без звука,
      "Фото резистором или по времени.
      Выставляется в меню.." подскажите какой пункт меню и как?

      Удалить
    3. – настройка часов будильника
      – настройка минут будильника
      – срабатывание будильника в понедельник
      – срабатывание будильника во вторник
      – срабатывание будильника в среду
      – срабатывание будильника в четверг
      – срабатывание будильника в пятницу
      – срабатывание будильника в субботу
      – срабатывание будильника в воскресенье
      – настройка часов ночной Начало
      – настройка часов ночной Конец
      – ночной режим вкл/выкл
      – почасовой сигнал
      – маятник

      Удалить
    4. Если "ночной режим" = 1 и "Ночной Начало"="Ночной Конец", то работает фотодатчик. Если не равен, то ночной режим по времени.

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

      Удалить
    5. Так же проверьте, не болтается ли RE1 в воздухе.Если не используете фото датчик ее(ножку) необходимо подтянуть через 10к на питание.

      Удалить
    6. Спасибо Ирина. Вопрос сформулирую иначе. У меня проблема в дневном режиме свечения индикаторов, при подаче питания 12V, высокое напряжение составляет на преобразователе напряжения (ПН) 133V, при этом индикаторы почти не светятся. При подаче питании 16V, высокое напряжение составляет 170V - индикаторы светятся, но не достаточно ярко. Отсюда мой вопрос, какое высокое напряжение (HV) должно быть на выходе ПН, чтобы индикаторы светились достаточно ярко? или подскажите, какие на схеме подобрать элементы, чтобы повысить яркость индикаторов?

      Удалить
    7. Дело, вероятнее всего, в дросселе. Он просто по току не может вытянуть лампы.
      Можете прислать фото собранной платы? Адрес под шапкой блога.

      Удалить
    8. Напряжение на выходе HV 174-176v, вне зависимости от напряжения на входе 9-16v..

      Удалить