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

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

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


Аватара пользователя
ksa69
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Ср фев 02, 2011 16:22:32

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

Сообщение ksa69 »

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

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

Сообщение WiseLord »

Да, ничего страшного. Шейте hex.

По поводу eeprom - я имел в виду не правку eeprom.h, а самого eeprom_ru.bin перед прошивкой. Любым hex-редактором (тем же winhex) можно метки скорректировать под себя - укоротить, удлинить - не важно. Главное, чтобы в самом низу байты со шрифтами не сдвинулись.

Кстати, прикрутил платку с BMP180 - греться, как раньше внутри корпуса, датчик перестал; показания температуры стали идеально совпадать с "открытыми" DS18B20/DHT22 в том же помещении.
Реклама
Аватара пользователя
ksa69
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Ср фев 02, 2011 16:22:32

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

Сообщение ksa69 »

надо себе так сделать, когда корпус будет готов. сейчас у меня на термоклей плата с BMP180 приклеена к плате с матрицами, видимо поэтому так и греется.
Еще вопрос: я сейчас дома установил ту же версию git, что ставили днем на рабочем компе и скопировал папку с репозиторием на свой домашний комп. вроде все ветки нормально показывает, оно будет нормально так же работать при обновлениях origin/master?

p.s. мой winhex позволяет добавлять метки в eeprom только на латинице. кирилица так просто не дается..
p.p.s. сейчас в такую темноту обнаружилось все же, что надо зашунтировать фоторезистор 1МОм-ным резистором. АЦП видимо выдавал ноль и яркость при максимальном затемнении возрастала.
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

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

Сообщение WiseLord »

Будет нормально работать.

У меня в hex-редакторе (okteta) можно выбрать нужную кодировку из нескольких десятков разных.

Потому я и писал, что лучше 1МОм подвесить - иначе в полной темноте слишком уж большое сопротивление получается, система может неадекватно посчитать это как отсутствие фотодатчика вообще и включить "почасовой" режим.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
max50
Мучитель микросхем
Сообщения: 497
Зарегистрирован: Ср дек 10, 2008 21:24:28
Откуда: Алтайский край, Барнаул

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

Сообщение max50 »

WiseLord писал(а):Да, ничего страшного. Шейте hex.

По поводу eeprom - я имел в виду не правку eeprom.h, а самого eeprom_ru.bin перед прошивкой. Любым hex-редактором (тем же winhex) можно метки скорректировать под себя - укоротить, удлинить - не важно. Главное, чтобы в самом низу байты со шрифтами не сдвинулись.
Понял, попробую. Вечером отпишусь.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Реклама
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

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

Сообщение WiseLord »

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

- Оптимизация кода.

Это позволило вернуть некоторые старые и добавить некоторые новые функции.

- Возвращено слово "Температура" в начале вывода бегущей строки.

Кому не нужно, можно в eeprom соответствующую текстовую метку укоротить (для пробела в 5 точек шириной код 0x20, для пробела в 1 точку шириной код 0x7F).

- Плавное изменение яркости при работе с фоторезистором с фильтрацией резких коротких помех.

Также теперь установка яркости в меню влияет и на яркость в случае использования фоторезистора, являясь по сути ограничением максимальной яркости.

- Исправлена ошибка конфигурации сборки для трёх матриц

- Возможность запрета вывода части данных от датчиков BMP180 и DHT22

В eeprom по адресу 0x0F находится соответствующий байт конфигурации, куда hex-редактором записываем соответствующую маску.

0x10 - вывод температуры от BMP180
0x20 - вывод температуры от DHT22
0x40 - вывод давления от BMP180
0x80 - вывод влажности от DHT22

Любая комбинация вывода производится сложением масок. Например, 0x40 + 0x80 = 0xC0 - будет выводиться только давление и влажность, без температур. Или, 0x20 + 0x40 + 0x80 = 0xE0 - выводим всё, кроме температуры от BMP180.

По умолчанию значение в EEPROM равно 0xF0, что при наличии всех датчиков будет выводить все возможные данные от них.
Вложения
matrixclock-a1d5b2b.7z
(24.09 КБ) 353 скачивания
Последний раз редактировалось WiseLord Вт июл 14, 2015 18:25:10, всего редактировалось 4 раза.
Реклама
Аватара пользователя
max50
Мучитель микросхем
Сообщения: 497
Зарегистрирован: Ср дек 10, 2008 21:24:28
Откуда: Алтайский край, Барнаул

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

Сообщение max50 »

Все получилось, спасибо.
Вот мой "зверь", пока без "будки":
Изображение
Изображение
Изображение
Изображение
В аттаче файл платы, может кому пригодится.
WiseLord, спасибо за интересный проект.

P.S. Если правильно понял, то для сборки этого проекта на MAX7219 в Makefile нужно просто указать LED_DRIVER = MAX7219?
Вложения
JY-MCU 3208pro.zip
Переходная плата для часов JY-MCU 3208pro
(7.61 КБ) 404 скачивания
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

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

Сообщение WiseLord »

Да. Либо в Makefile указать, либо собрать командой

Код: Выделить всё

make LED_DRIVER=MAX7219
Можете посмотреть в скрипт build_all.sh, собирающий все варианты.
Аватара пользователя
max50
Мучитель микросхем
Сообщения: 497
Зарегистрирован: Ср дек 10, 2008 21:24:28
Откуда: Алтайский край, Барнаул

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

Сообщение max50 »

Понял, спасибо.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Аватара пользователя
max50
Мучитель микросхем
Сообщения: 497
Зарегистрирован: Ср дек 10, 2008 21:24:28
Откуда: Алтайский край, Барнаул

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

Сообщение max50 »

WiseLord писал(а):Кому не нужно, можно в eeprom соответствующую текстовую метку укоротить (для пробела в 5 точек шириной код 0x20, для пробела в 1 точку шириной код 0x7F).
То есть вместо буквы Т(0xD2) должен подставить 0x7F?
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

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

Сообщение WiseLord »

Да. Этот код у меня в шрифтах используется как пространство между буквами.
Аватара пользователя
ksa69
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Ср фев 02, 2011 16:22:32

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

Сообщение ksa69 »

Если хотите убрать только букву Т и заменить ее пробелом , шириной в Один пиксель, то именно так.
p.s. Что то rebase master не прошло. Конфликты какие-то. Может из-за того что и я в своей и вы в своей ветке меняли обработку яркости? Исходники некогда было глянуть на работе. Сейчас вечером попробую разобраться :shock:
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

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

Сообщение WiseLord »

Да, конфликт именно из-за этого.
Аватара пользователя
ksa69
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Ср фев 02, 2011 16:22:32

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

Сообщение ksa69 »

Ок, значит я нормально усвоил ваши объяснения, раз это запомнил. Конфликтные места быстрее руками поправить будет или там глобальные изменения?
Аватара пользователя
max50
Мучитель микросхем
Сообщения: 497
Зарегистрирован: Ср дек 10, 2008 21:24:28
Откуда: Алтайский край, Барнаул

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

Сообщение max50 »

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

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

Сообщение WiseLord »

После git rebase возник конфликт. Если глянете в него, в то место, где возник конфликт, увидите, что git оставил, выделив специальными маркерами, оба варианта кода. Нужно просто оставить нужный, удалив маркеры. После этого git rebase --continue, если не ошибаюсь, завершит сдвиг ветки.

Многие конфликты git сам умеет разрешать, но можно использовать и внешние утилиты, которые вызываются через git mergetool. Я, например, пользуюсь kdiff3. Но, повторюсь, можно и вручную разрешить.
Аватара пользователя
ksa69
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Ср фев 02, 2011 16:22:32

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

Сообщение ksa69 »

Ок. Спасибо. Про --continue я уже прочитал. Сейчас попробую
Аватара пользователя
max50
Мучитель микросхем
Сообщения: 497
Зарегистрирован: Ср дек 10, 2008 21:24:28
Откуда: Алтайский край, Барнаул

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

Сообщение max50 »

WiseLord писал(а):Кому не нужно, можно в eeprom соответствующую текстовую метку укоротить (для пробела в 5 точек шириной код 0x20, для пробела в 1 точку шириной код 0x7F).
А можно вернуть редактирование eeprom как было раньше? Заменил слово "Температура" пробелами в 1 точку, теперь температура выводится чуть позже, сначала чистый экран несколько секунд.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Аватара пользователя
ksa69
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Ср фев 02, 2011 16:22:32

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

Сообщение ksa69 »

еепром редактируется так же как и раньше. между метками должен быть как минимум один 0х00. А Вы навставляли однопиксельных пробелов. Просто замените слово "Температура" на 0х00 и всё. и не будет ничего "длинного". метки в еепром разделяются именно 0х00, а пробелы между ними можно регулировать так, как было написано выше.
p.s. победил я git rebase :)))
Аватара пользователя
ksa69
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Ср фев 02, 2011 16:22:32

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

Сообщение ksa69 »

max50,
вот без слова "температура" еепром. подправил сейчас.
Вложения
matrixclock_ru.zip
(521 байт) 295 скачиваний
Ответить

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