Например TDA7294

РадиоКот > Конкурс: Поздравь Кота по-человечески 2014!

Часы Super Clock

Автор: Lion_A, alexandrov.a@bk.ru
Опубликовано 05.09.2014.
Создано при помощи КотоРед.

 

 

Хочу поздравить Кота с девятилетием и подарить ему  часы с матричным дисплеем из светодиодов, которые я скромно назвал Super Clock))).

 

Часы умеют:

 

  1. Отображать текущее время и дату.
  2. Вывод  бегущей строкой праздников с расчетом годовщин.
  3. 31 декабря вести обратный отсчет до нового года.
  4. Выводить бегущую строку хранящуюся в энергонезависимой памяти.
  5. Загружать строку в память через Bluetooth или USB.
  6. Отображать  комнатную и уличную температуру.
  7. Управлять отображением информации жестами.
  8. Корректировать точность хода часов.
  9. Также возможно добавить в прошивку свои праздники

 

Схема:

 

 
 

Матрица состоит из 192 светодиодов. МК управляет столбцами через сдвиговые регистры 74HC595. Строки подключены через транзисторные ключи VT1-VT8. Часы RTC дешевая и широко распространенная микросхема DS1307 управляется по шине IIC. Оптический датчик состоит из ИК светодиодов HL1, HL2 и фотоприемника IC1. Температурные датчики DS18B20 подключаются через 3,5 мм mini jack. Загрузка бегущей строки в МК осуществляется по USART через Bluetooth модуль HC-05, или через преобразователь USB-USART FT232RL. На плате разведено место и под первое и под второе. В случае использования FT232RL часы получают питание от USB порта компьютера. При установке HC-05 питание осуществляется от стабилизированного  сетевого адаптера на 5В с mini USB разъемом.  Первые три включения МК будет пытаться обнаружить Bluetooth модуль. Если модуль найден МК произведет его настройку (будет изменено имя и настроена скорость передачи). Для устройств на Андроиде рекомендую программу BlueSPP.  Для ПК Termite. Настройки для Termite: baud rate 38400, data bits 8, stop bits 1, parity none, flow control none, forward none. Для BlueSPP выбрать кодировку windows-1251.

Для установки времени, нажатием на кнопку “set” перебираем час>>минуты>>день недели>>число>>месяц>>год. Кнопками “+” и “-“ изменяем установки. Нажатие на кнопку “exit” при отображении времени переводит часы в нормальный или авторежим. В  авто режиме часы каждые 30сек. отображают по очереди дату с праздниками (если день праздничный) и температуру в комнате и на улице (если датчики подключены). Жесты дублируются кнопками “+” и “-“ так что оптический датчик необязателен.  Вот так осуществляется управление жестами:

ул. температура << комн. температура << время >> дата >> бегущая строка

 

Команды для управления через Bluetooth (USB) заканчиваются идентификатором из двух символов начинающимся на "$”.

Установка времени:  XX:XX:XX$t

Установка даты: D-DD:MM:YY$d

Запись бегущей строки:  XXXXXXXX$s

Вывод однократного сообщения:  XXXXXXXX$m

Изменение имени Bluetooth: XXXXXXXX$n (Только латинские буквы)

Помощь: $h (Возвращает в терминал все доступные команды и значение коррекции)

Запись коррекции хода часов: +-ххххх$c

Пустые команды $t и $s переводят часы в режим отображения времени или бегущей строки соответственно.

 

Коррекцию хода часов рассчитываем по формуле:

corr = T1/sec

T1 - время в минутах, за которое проводилось измерение ухода

sec - уход часов в секундах

Например:  устанавливаем часы по сигналам точного времени и сверяем их, например через сутки. Часы убежали на 3сек.

Т1 = (24*60) = 1440.

Sec  = 3.

Corr = 1440/3 = 480.

Значит, передаем команду -480$c

 

Сборка:

Часы собраны на двух двусторонних платах. В платах имеются переходные отверстия, в них запаиваются проволочные перемычки. Или переходы можно сделать так: сверлим отверстие в плате 0.5мм, пропускаем через него проволочный припои диаметром 0.5мм, чтобы кончик выступал над платой на 2-3мм. Капаем флюс и паяльником быстро расплавляем припой. С другой стороны платы откусываем припой на расстоянии 2-3мм от платы и также заплавляем  кончик. Прозваниваем, если обрыв, прочищаем зубочисткой и повторяем с начала. Получается такая своеобразная заклепка. Только делать это надо после того как вся плата спаяна, а то можно повредить переходные отверстия случайным нагревом. МК программируется  внутрисхемно, для этого на плате установлен ISP разъем. Разъем устанавливаем на плату и пропаиваем с обратной стороны, затем сдвигаем пластиковый корпус вверх по контактам не снимая его со штырей и пропаиваем контакты с другой стороны. Промываем от флюса и сдвигаем на место. Также поступаем с PLS линейками. ИК диоды припаиваем под углом градусов 30 к плате, чтобы исключить ложные срабатывания от потолка. Также надеваем на них черную термоусадку в два слоя, а задний торец заливаем черным  термоклеем. В зависимости от светодиодов резисторы R1 и R4 возможно придется подобрать по чувствительности датчика. Датчик должен работать с расстояния не более 20см. Иначе возможны ложные срабатывания от случайных отражений. Если для связи используется FT232RL, то разъем mini USB нужно припаять так чтобы его корпус не был соединен с общим проводом платы, иначе соединение может обрываться при использовании некачественных USB кабелей. Для этого  нужно немного отогнуть вниз установочные “лапки” на разъеме или подложить под него изолирующую прокладку. Сдвиговый регистр может выдавать 20мА на вывод, но не более 70мА на микросхему. В итоге получается 8,8мА на вывод, поэтому я бы рекомендовал использовать сверх яркие светодиоды. Также возможно придется подобрать R24-R47 по максимальному току в зависимости от светодиодов. Спаять матрицу это почти подвиг! 192 светодиода и 384 ножки. Можно конечно взять три светодиодные матрицы 8х8, но что то цены на них очень кусаются, а светодиоды у меня уже были. Светодиоды нужно запаивать построчно. Чтобы светодиоды установить ровно по высоте изготавливаем кондуктор в виде трехзубой вилки. Пропускаем выводы между “зубами” и припаиваем. После запайки светодиода вынимаем кондуктор и пропаиваем светодиод с другой стороны. После запайки каждой строчки нужно её тщательно промыть от флюса, потом это будет сделать проблематично, а если флюс токопроводящий будет засветка соседних светодиодов. После запайки всей матрицы, строчки можно выправить вставляя между ними линейку. Разъемы X2 и X3 установлены для возможной дальнейшей модернизации, это Г-образная PLS линейка. Функция будильника не реализована, поэтому элементы R10, Q1, SP1, R12 не нужны. Если установлена FT232RL элементы VR1, C4, C5 также ненужны. TSOP 1736 заменим на TSOP31236

 

Fuse bits:  High - D1; Low – 24.

В прошивке можно изменить имеющиеся и добавить свои праздники и годовщины близких. В файле holiday.с есть комментарии.

Немного фото:

 Ну и немного видео. Правда после заливки на YouTube бегущие строки получаются почемуто дерганными. Вам придется поверить мне на слово, что на самом деле все плавно))).

Да, чуть не забыл. После первого включения или замены батарейки на часах будет пусто, чтобы часы пошли надо нажать кнопку "set" и "+" или "-". И без батарейки часы тоже не будут работать. Схема включения FT232RL в архиве.

 


Файлы:
Плата Layout6
Схема Splan7
Прошивка с исходником CVAVR2.04.4a


Все вопросы в Форум.


ID: 1967

Как вам эта статья?

 Нравится
 Так себе
 Не нравится

Заработало ли это устройство у вас?

 Заработало сразу
 Заработало после плясок с бубном
 Не заработало совсем

152 6 1
23 1
Подробно