Часы на светодиодных матрицах с драйверами MAX7219

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Ответить
Грызет канифоль
Аватара пользователя
Сообщения: 255
Зарегистрирован: Вс мар 04, 2012 12:05:24
Откуда: Riga

Сообщение Juris »

Добрый день всем! Во первых, конечно, огромное спасибо Автору часов за такую широко проработанную конструкцию часов!
У меня вопрос немножко "off topic", но поскольку это именно пра такие матрицы как тут, я позволю себе спросить: может кто делал, или может подсказать где видел использование LED матриц с контроллерами MAX7219 или HT1632 в качестве вывода информации из PC, на подобие как это делаетса программой "LCD Smartie" на LCD модули (загруска CPU, температуры от SpeedFan, названия треков из плейеров, итд)? Поиск по сети пока не дал мне вариантов, только пара видеоклипов на YouTube где такое реализованно, но без технических подробностей.
Буду очень рад и признателен, если кто подскажет решение. У меня оба варианта матриц на подходе из Китая ;-)
Спасибо заранее!
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

Обновление прошивки.

- Убрана возможность разворота на 180 градусов через одновременное долгое нажатие всех трёх кнопок.

Регулировка "на лету" не очень нужна, возможность настройки через редактор EEPROM сохранена.

- Оставлено только два шрифта - нормальный и большой.

Большой шрифт для 3 матриц один (5px цифры), для 4 матриц - другой (6px цифры).

- Возможность настройки времени звучания будильника в диапазоне от 1 до 60 минут.

Собственно, ради этого первые два урезания функционала и были сделаны. Увы, пока эта настройка доступна только через редактор EEPROM ввиду нехватки места в Flash контроллера.

- Индикация дней недели (видна при нормального размера шрифте) перемещена в последний столбец.

Так оно смотрится немного лучше.

Обновлённый редактор EEPROM доступен по-прежнему на Dropbox.
Вложения
matrixclock-5cf5d7b.7z
(53.08 КБ) 651 скачивание
Контактная информация:
Реклама
TyM
Родился
Аватара пользователя
Сообщения: 11
Зарегистрирован: Пн ноя 09, 2015 00:57:54
Откуда: Toledo-Spain

Сообщение TyM »

WiseLord Большое спасибо за ваше время, проведенное в этом грандиозном проекте.

Я попробовал новый редактор EEPROM и он не работает, он остается заблокированной.

Используйте Win-7 32bit.


A.C.M. :)) :)) :))
Встал на лапы
Аватара пользователя
Сообщения: 127
Зарегистрирован: Ср июн 04, 2008 00:22:30
Откуда: Украина, Ковель

Сообщение dark »

TyM писал(а):WiseLord
Я попробовал новый редактор EEPROM и он не работает, он остается заблокированной.
Сегодня залил новую прошивку и настроил часики под себя новым редактором - он рабочий.
Windows 7 64bit.
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 2
Зарегистрирован: Вт янв 01, 2013 13:39:17

Сообщение user256 »

Отредактировал и прошил новую прошивку, все работает, но секунды просятся на пиксел вправо.
Может быть сделать так: Изображение
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

Так не получится - дни недели будут проматываться вместе с секундами. Плюс эта позиция сверху - тоже часть шрифта (все шрифты реально высотой 8px, просто у маленьких цифр верхние пикселы пустые).
Контактная информация:
Реклама
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 162
Зарегистрирован: Ср фев 02, 2011 16:22:32

Сообщение ksa69 »

ну вот.. из за будильника кирдык моему любимому сверхбольшому шрифту(( хотя есть же возможность через гит выбрать нужные исходники? подскажите какая там нужна версия их?
и разворотом я пользовался "на лету" ибо иногда для родственников часы собирал и провода питания и датчиков оказывались по месту не с той стороны вот и нужно было перевернуть на 180, а теперь придется комп с программатором таскать при установке часов(((
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

Ну как раз-таки сверхбольшой шрифт остался на 4-х матрицах. А тот, что чуть поменьше, на них смотрелся корявенько, поэтому и был оставлен только на 3-х матрицах, где красивый сверхбольшой и ранее отсутствовал - не помещался.

Так что сейчас всё оптимально и правильно. 1-й - нормальный шрифт на обоих вариантах (на 4-х матрицах ещё и секунды видны при этом). 2-й - большой шрифт во всю длину часов, отличающийся на 3-х и 4-х матрицах.
Контактная информация:
Мявтор!
Аватара пользователя
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Сообщение dt_andrew »

разворот часов можно устанавливать например джампером
думаю, что проверка его на 0 или 1 при запуске много места в памяти не займет - как вариант
свободные порты вроде есть
Родился
Сообщения: 4
Зарегистрирован: Пт фев 19, 2016 11:25:43
Откуда: Казань

Сообщение Adel137 »

Здравствуйте уважаемый WiseLord!
Вы сделали шикарные часы и огромную работу.
Но, у меня есть просьба, т.к. не собираюсь пользоваться "будильником"(для этого есть телефон что на тумбе у кровати лежит), "индикацией дня недели" и "датчиком влажности" DHT11(DHT22) (и пару моих товарищей что собираются повторить ваш проект). Можно исключить их из прошивки, а вместо этого добавить измерение по радиоканалу уличной температуры используя радиомодуль NRF24L01+, DS18B20 и ATmega8L (2.7V - 5.5V), использовать режим "Режим сна (Sleep mode)" для энергосбережения?
Опрос улицы скажем раз в 5 минут, но иметь возможность изменять через исходник под себя. Сигнализация разряда батареи передатчика ниже 3V зажиганием какой либо точки на матрице.
Тут есть пример, исходники и схемы передатчика(для упрощения схемы можно перевести на внутренний генератор передатчик)
Спойлерhttp://avrproject.ru/publ/peredacha_izmerennoj_temperatury_po_radiokanalu_svjazka_nrf24l01_i_ds18b20/1-1-0-106
Думаю многим это будет интересно.
Спасибо.
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

Сам бы хотел такое реализовать, но всё же без ущерба основному функционалу, что на ATmega8 проблематично.
Контактная информация:
Родился
Сообщения: 4
Зарегистрирован: Пт фев 19, 2016 11:25:43
Откуда: Казань

Сообщение Adel137 »

Тогда получается только переезд на более жирные процы на ATmega168 или ATmega328 и функционал на месте и новшества?
Распиновка одинаковая с ATmega8, но вроде адресация регистров разная, зато памяти с запасом на все хотелки хватит :)))
Совсем не хочется дырявить ни стены не пластиковые окна :cry:
Грызет канифоль
Аватара пользователя
Сообщения: 251
Зарегистрирован: Сб янв 23, 2016 10:30:29

Сообщение hector »

Что, если использовать более новый и дешевый датчик влажности AM2320? :wink:
Его можно подключить то-же по "квадратной" шине, что освободит место в памяти меги8 (не нужен однопроводной интерфейс). У меня он есть, могу потестить "вживую", если WiseLord предоставит соответствующую прошивку на HT1632.
Тут интересное сравнение разных датчиков: http://www.kandrsmith.org/RJS/Misc/Hygr ... _many.html
Открыл глаза
Сообщения: 57
Зарегистрирован: Вт май 06, 2014 00:53:29
Откуда: Воронеж

Сообщение vadpi »

WiseLord писал(а):
Собственно, ради этого первые два урезания функционала и были сделаны. Увы, пока эта настройка доступна только через редактор EEPROM ввиду нехватки места в Flash контроллера.

....

Обновлённый редактор EEPROM доступен по-прежнему на Dropbox.
А не проще ли было просто поменять длительность звучания будильника с 1 минуты по умолчанию, на "пока не выключат" или на какое-нибудь вменяемое, достаточно длительное время, скажем на 20-30 минут не урезая функционала?

В связи с этим у меня вопрос: "Будет ли работать новый редактор со старыми прошивками"? Я имею в виду изменеие длительности звучания будильника.

Меня гораздо больше интересует возможность корректировки показаний датчиков температуры и давления. Врут гады :twisted:
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

Не проще. В старых прошивках всё время пока час и минута совпадали с заданным в будильнике (то есть, целую минуту), он звенел, как только перестали совпадать - останавливался. И никак иначе. При ручной остановке просто до конца минуты ставился флаг ручной остановки, запрещающий до конца минуты повторное срабатывание.

В новой прошивке фиксируется именно факт начала срабатывания, и если по этому факту запускается таймер на заданное в EEPROM время. Этот код получился сложнее, из-за чего и пришлось немного урезать функционал.

Новый редактор генерирует совместимые с более старыми прошивками файлы EEPROM. Естественно, длительность звучания будильника на старых прошивках будет игнорироваться.
Контактная информация:
Родился
Сообщения: 4
Зарегистрирован: Пт фев 19, 2016 11:25:43
Откуда: Казань

Сообщение Adel137 »

Напишите пожалуйста фьюзы на ATmega8, весь форум перерыл так и не понял какие должны быть :(
Встал на лапы
Аватара пользователя
Сообщения: 127
Зарегистрирован: Ср июн 04, 2008 00:22:30
Откуда: Украина, Ковель

Сообщение dark »

Контактная информация:
Мявтор!
Аватара пользователя
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Сообщение dt_andrew »

загрузите http://www.engbedded.com/fusecalc/
выберите проц и введите фузы, которые привел dark
увидите как надо выставить птички и пункты под разные системы программирования типа Понипрог AVR Studio и т.д.
Родился
Сообщения: 19
Зарегистрирован: Сб апр 09, 2016 09:26:50
Откуда: Казань

Сообщение ivelan »

Здравствуйте, WiseLord. Не могли бы вы помочь в такой ситуации? Привязывал матрицы Kingbright через готовые китайские модули, теперь часы такие)) , показывают зеркально по горизонту. Прошивка matrixclock_max7219_atmega8

Изображение
Изображение

Судя по даташиту то что в китайских матрицах общий катод , в Kingbright общий анод, я перенаправил линии, и похоже поменял местами строки и сттолбцы. Можно ли это исправить программно?
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

https://github.com/WiseLord/matrixclock ... 7219.c#L79 Попробуйте заменить на if (!rotate)
Контактная информация:
Ответить

Вернуться в «Статьи»