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

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

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


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

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

Сообщение max50 »

WiseLord писал(а):По поводу DHT11 не уверен, нужно ли. Там и параметры хуже, и протокол чуть другой, да и нету его у меня в наличии.

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

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

Сообщение WiseLord »

Maxtor62 писал(а):Нет, и после компиляции прошивки из проекта на MAX7219mod ни чего не работает! Что то где то не так!

Причину нашёл - из-за изменения в pins.h при выборе MAX7219MOD выбирается разводка ножек как для HT1632.

Исправлено.

Также исправлены выбросы яркости при использовании фоторезистора.

Помогло простое увеличение скорости тактирования АЦП. Во всяком случае, у меня кратковременные выбросы яркости исчезли.

P.S.
Файл с прошивками перезалит с учётом последних правок.
Вложения
matrixclock-51a77d2.7z
(23.01 КБ) 328 скачиваний
Аватара пользователя
ksa69
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Ср фев 02, 2011 16:22:32

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

Сообщение ksa69 »

Еще идея появилась. Счетчик импульсов же не сложно реализовать и на математике простой выводить данные от СБМ-20 в мкр/час... Вроде вообще не сложно. Сложнее запитать сам датчик и запихать его в корпус...
Maxtor62
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Чт авг 29, 2013 10:16:34
Откуда: Иркутск

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

Сообщение Maxtor62 »

Wiselord большое спасибо, всё заработало! Есть один недочёт: при выводе бегущей строки температуры, давления и влажности, смена режима на показания времени происходит до окончания прокрутки значения влажности, где-то с середины экрана. Очень неприятный получается эффект. Если можно поправьте, пожалуйста. И ещё, хочу спросить по поводу вывода бегущей строки через заданное время, а не фиксированное как сейчас, что то получиться сделать или уже нет?

ksa69 писал(а):Еще идея появилась. Счетчик импульсов же не сложно реализовать и на математике простой выводить данные от СБМ-20 в мкр/час...

Стесняюсь спросить: а Вы где живёте? На урановых рудниках или возле АЭС, что так необходимо контролировать уровень радиации?
Лично для меня в данном проекте есть уже всё что нужно и я восхищаюсь WiseLordом как программистом, сумевшим всё это впихнуть в мегу8. И если бы я что то добавил, то только в плане повышения информативности, а именно при выводе давления выводить повышается оно или падает.
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

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

Сообщение WiseLord »

Maxtor62 писал(а):Есть один недочёт: при выводе бегущей строки температуры, давления и влажности, смена режима на показания времени происходит до окончания прокрутки значения влажности, где-то с середины экрана
У себя я такого не наблюдаю, строка прокручивается полностью.

Но причина этого мне, в принципе, известна. Под хранение в памяти прокручиваемой строки используется массив strBuf[MATRIX_BUFFER_SIZE];, размером 576 байт. Соответственно, слишком длинная строка (более ~100 символов, каждый по 5..6 байт) может просто не помещаться в буфере.

У меня три датчика (DS18B20, BMP180, DHT22) и вся строчка с их показаниями, в принципе, помещается в этот буфер. Но если датчиков больше, или текстовые метки в EEPROM слишком длинные - может быть и не так.

Сколько датчиков подключено у Вас, и каких? Какая формируется выводимая строка?

В любом случае, в выложенной прошивке я увеличил размер массива до 640 байт (~11 добавочных символов для вывода) и убрал вывод слова "Температура". Больше тут вряд ли что-то можно сделать, кроме как совершенно иначе организовывать вывод строк. Дальнейшее увеличение размера массива уже не поможет, т.к. и так почти весь 1кБ ОЗУ использован. Можно лишь сами текстовые метки в EEPROM укоротить.

В принципе, у меня написан вариант библиотеки под LED-матрицы, которая не требует для вывода бегущей строки буфера ОЗУ вообще, но под неё так просто проект в текущем состоянии не переведёшь - нужно будет некоторые вещи переписывать полностью. Может, позже как-нибудь и займусь, тогда бы это позволило вообще любое количество любых датчиков подключить.
Вложения
matrixclock-3a6ef1.7z
(23.12 КБ) 266 скачиваний
Maxtor62
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Чт авг 29, 2013 10:16:34
Откуда: Иркутск

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

Сообщение Maxtor62 »

Всё понятно, но я залил именно последнюю Вашу прошивку и в ней слово "температура" присутствует и именно из за этого, кажется, получается такой эффект. А количество датчиков именно такое как и у Вас. Вообще то я всегда изменяю и сокращаю для себя бегущую строку и отключаю вывод температуры с BMP180, просто залил Вашу как исходную для проверки. Сейчас внесу свои изменения и посмотрю, что получиться.
...
Да, действительно без слова "температура" всё нормально! А что по поводу изменения времени вывода бег.строк?
Аватара пользователя
ksa69
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Ср фев 02, 2011 16:22:32

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

Сообщение ksa69 »

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

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

Сообщение WiseLord »

ksa69 писал(а):а ручная - ставишь на три яркость, выходишь в основной режим и яркость опять на максимум ставится.
А терморезистор отключен при этом? Pull-down резистор на землю присутствует? Без него система может считать, что терморезистор присутствует, и выдавать данные от АЦП.
Maxtor62 писал(а):А что по поводу изменения времени вывода бег.строк?
Надо подумать. Вообще мысль хорошая - выводить бегущую строку не с привязкой по времени, а через n секунд после вывода предыдущей строки. Неважно, выведенной автоматически, или затребованной вручную кнопкой. На выходных попробую реализовать.
Аватара пользователя
ksa69
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Ср фев 02, 2011 16:22:32

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

Сообщение ksa69 »

Все резисторы присутствуют. Я сменил только прошивку, перепроверю еще раз pins.h может в нем где накосячил я...
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

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

Сообщение dt_andrew »

после трех дневного тестирования, стала вылазить такая неприятность
при выводе бегущей строки с температурой
раньше было "Температура 25.4 С в комнате"
сейчас выводиться
"Температура 25.4 С в комнатеяснаружи"
в чем косяк, куда глянуть
прошивка MOD_X3
Аватара пользователя
shura2000
Вымогатель припоя
Сообщения: 613
Зарегистрирован: Пн фев 23, 2015 21:17:29
Откуда: г. Протвино, МО

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

Сообщение shura2000 »

Епром от предыдущей версии.
В последней вроде убрали "Температура"
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

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

Сообщение dt_andrew »

я не прошивал никаких новых версий, меня и первая прошивка MOD_X3 вполне устраивает
3 дня все было нормально, и само началось
допускаю слет ЕЕПРОМ - проверю конечно

UPD. действительно слетела ЕЕПРОМ
вместо разделителя 0 между "температура" и "снаружи" почему то прописалось "я" (0xFF)
все нормально стало - тестируем дальше
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

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

Сообщение WiseLord »

Просто "я" - это 0xFF в EEPROM. Может, где-то редактировалось и случайно вписано было.
Аватара пользователя
ksa69
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Ср фев 02, 2011 16:22:32

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

Сообщение ksa69 »

что-то не применяется патч... пишет unrecognized input и всё тут. склонировал свежую ветку. перенес патч в каталог matrixclock. и git apply выдает эту надпись...
Аватара пользователя
ksa69
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Ср фев 02, 2011 16:22:32

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

Сообщение ksa69 »

Спойлер
патч.png
(57.53 КБ) 305 скачиваний

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

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

Сообщение dt_andrew »

нет, я ничего не редактировал
и 3 дня все было нормально
возможно ЕЕПРОМ слетел по причине выключения и включения часов - боялся оставлять включенным когда уходил на работу
протестирую за выходные без этих выключений
да и видно платы с 328 мегой с Китая дают о себе знать по качеству контроллера
проблема закрыта
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

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

Сообщение WiseLord »

ksa69 писал(а):что-то не применяется патч
Какие-то заморочки с windows, явно.

Попробуйте:

1. Создавать патч и накладывать его не в powershell, а в bash (Выхвать можно, выбрав Git bash в контекстном меню каталога с исходниками)
2. Командой git config --global core.autocrlf false настроить git так, чтобы он не переделывал окончания строк из unix-стиля (в коде конец строки - CR) под стиль, принятый в windows (конец строки CRLF).

dt_andrew:

В другом моём проектике я тоже периодически наблюдал слетающий EEPROM (особенно при отладке кода, при работе - редко). Интересно, но помогло включение в FUSE-битах выставление BODEN/BODLEVEL на срабатывание при 4В питание. По умолчанию у ATmega8 порог 2.7В, да ещё и отключен.

Для ATmega328 попробуйте выставить в 4.3В. Мало ли что там МК может делать с EEPROM, когда VCC приближается при отключении к 1.5В...
Последний раз редактировалось WiseLord Пт июл 10, 2015 15:16:10, всего редактировалось 2 раза.
Аватара пользователя
ksa69
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Ср фев 02, 2011 16:22:32

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

Сообщение ksa69 »

ок. вечером попробую на домашнем компе, у меня там kalilinux стоит. с этой виндой и впрямь одни глюки, то компилировать не хотела из за size.sh, то программатор не работает толком. теперь вот это вылезло.
через баш то же самое. поправлю руками исходники опять.. потом разберусь
Вложения
QIP Shot - Screen 021.png
(29.74 КБ) 873 скачивания
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

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

Сообщение WiseLord »

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

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

Сообщение ksa69 »

Перешил фьюзы на внутренний генератор на 8 МГц и все заработало. На 16МГц никак регулировка яркости от фоторезистора не хотела работать. Видимо что то с настройками АЦП... И плавность изменения яркости сейчас уже не та. Раньше плавно менялась, сейчас мгновенно практически.
Ответить

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