Главная » Статьи » Ассемблер, С, Паскаль

Часы на матричных индикаторах и драйвере MAX7219 (MAX7221)

Теперь по сути дела. Возможности пока скромные.

  • Отображение времени.
  • 5 шрифтов для отображения времени.
  • Отображение температуры (два датчика, в доме и на улице. Уличный датчик работает по радиоканалу, на NRF24L01+). Датчики можно отключать.
  • Барометр. Отображение атмосферного давления. (BMP280). Можно отключить.
  • Датчик влажности AM2302. Пока не реализован, но место на печатке есть.
  • Настройка часов и всех функций по Bluetooth. (HC-05)
  • Почасовой сигнал, каждый час от 7:00 до 23:00. Отключаемый.
  • Яркость часов. Автоматом, или вручную.
  • Переходы с разных показаний с эффектами.(эффекты переключаются случайно)
  • Будем доделывать, планы есть.
Несколько фото






Алгоритм

















Схемы





Часы состоят из двух плат – платы дисплея, на ней расположены сами матрицы и драйвера, и платы управления со всем остальным. Процессор использовал – PIC18F4525. Индикаторы брал на ALI, 60х60мм, с общим анодом в строке. Если брать с общим катодом, то матрицы нужно разворачивать на 90° и переделывать печатку. У меня есть печатки под два вида и в железе так же собраны. Все печатки двухсторонние, потому как сложно на одну сторону это все поместить. Еще одно но, так сказать, написано это всё на C (XC 8). Но если кому будет интересно как реализована та, или иная функция, спрашивайте. Помогу с переводом на Basic.

Информация по Bluetooth (HC-05).

Сам модуль я настраивал до запайки в часы. Хотя настраивал громко сказано. Просто имя переписал. Все остальное оставил по умолчанию. Но возможность на печатке я предусмотрел, поставить пару резисторов и немного сменить программу, и можно будет настраивать модуль с часов. С модулем получилось очень даже удобно. Не вставая с дивана подстраиваешь, что тебе нужно. :-) Есть в планах написать программу под Windows для управления часами. А пока что через обычный терминал. В телефоне на андроиде я использую Serial Bluetooth Terminal.

Все команды должны начинаться с символа $.

  • Настройка времени - $tHHMM ($t0729)
  • Настройка даты - $dDYDTMNYR (DY – день недели,1й - Воскресенье
  • DT - число, MN - месяц, YR – год. Например - $d01270917 - воскресенье, 27 сентября 17 года)
  • Настройка типа часов - $cX. X – тип 1, или 2.
  • Настройка шрифта - $fX. X – шрифт от 1 до 5.
  • Настройка яркости - $bXN. X – 1(автоматическая), 0(вручную).

N – значение яркости при ручной настройке. 1-8.

  • Настройка почасового сигнала - $sX X - тип(1 – есть синал 0 - нету)
  • Настройка отображения датчиков температуры - $aXZ XZ - датчики(X - комнатный, Z - уличный)(1 - показывать 0 - не показывать).
  • Настройка отображения атмосферного давления - $eX X - датчик(1 - показывать 0 - не показывать)
  • Чтение значения АЦП, с фоторезистора - $ra.
  • Время и дата компиляции - $rv
  • Температура с радио датчика - $rt
  • В планах…..

Архив с полным описанием находится

здесь...


Категория: Ассемблер, С, Паскаль | Добавил: ivan_fd (14.01.2018)
Просмотров: 287 | Комментарии: 5 | Рейтинг: 5.0/5
Всего комментариев: 5
0
1 ivan_fd   (15.01.2018 12:22)
Доброго дня всем.
Исходники можно смотреть на GitHab - https://github.com/ivanfd/ClockMatrix.git

Ссылка на облако с материалом.
ССЫЛКА

Маленькое видео работы. 

2 PINCOD   (20.01.2018 14:58)
Здорово,профессионально.Браво Иван!!!

0
3 ivan_fd   (22.01.2018 15:46)
Спасибо.

0
4 ivan_fd   (22.01.2018 15:49)
Если кому интересно, то все изменения которые доделываю можно посмотреть на
облаке. Ссылка вверху. Изменения описаны в файле Часы на матричных индикаторах и.docx

0
5 ADMIN   (26.01.2018 16:05)
Мне тоже понравилось.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]