Часы на светодиодных матрицах с драйверами MAX7219
- Реклама
- Сообщения: 49
- Зарегистрирован: Пт июл 10, 2015 16:06:24
Извините застрял я, не пойму как в hub08DrawPixel прикрутить вывод на MAX7219 к тому же видимо надо тоже переворачивать матрицы, но это потом. Гляньте пожалуйста в том направлении иду или нет https://yadi.sk/d/1L_B39H5zM3ph. Инициализация проходит, яркость тоже выставляется а потом начинается стробоскоп.WiseLord писал(а):В hub08.h всего 4 функции. Вот их аналоги и нужно реализовать для max7219.
hub08Init - инициализация. Фактически то же самое, что и в matrixclock, только для большего числа матриц.
hub08SetBr - установка яркости. Аналогично
hub08DrawPixel - рисование пиксела
hub08Shift - сдвиг влево
Последние две функции будут практически без изменений, только в случае MAX7219 нужно в их конце реализовать вычитку данных из буфера в цепочку матриц. В случае HUB08 это происходит автоматически за счёт прерываний, ну а тут развёртку реализуют сами MAX-ы, так что нужно просто им данные эти передавать после каждой записи в буфер.
Идея в том, чтобы не выводить пиксел как таковой, а отрисовывать этот пиксел в буфере. А уже потом этот буфер выводить в цепочку матриц.
В случае HUB08 этот вывод идёт за счёт прерываний. В случае MAX7219 после любых операций нужно просто будет вычитывать новый буфер.
P.S. А Вы на реальной железке это всё отлаживаете?
В случае HUB08 этот вывод идёт за счёт прерываний. В случае MAX7219 после любых операций нужно просто будет вычитывать новый буфер.
P.S. А Вы на реальной железке это всё отлаживаете?
А как соотносить буфер с матрицами? Ведь надо будет заносить большой шрифт в 0 и 9 матрицы например. Вот на этом и сыплюсь, никак не соображу как реализовать.
Да атмега328 нано и 10 матриц.
Да атмега328 нано и 10 матриц.
- Реклама
Про шрифты можно вообще не переживать. Они вычитываются и выводятся уровнем выше. Для MAX7219 нужно реализовать лишь то, что я выше описал.
Стукнитесь по Skype ко мне wiselord1983. Там в чате можно обсудить тонкости более детально.
Стукнитесь по Skype ко мне wiselord1983. Там в чате можно обсудить тонкости более детально.
Я ещё сам помучаюсь, попытаюсь разложить по шагам . Если застряну тогда спрошу . В принципе получилось вывести маленьким шрифтом секунды. Проблема повернуты на 90 градусов и рисуется через 1 пиксель растягивает. Если установить matrixSetCol(1,ROW_TOP); то выводит с третьего. Вывожу в матрих.с ISR(TIMER1_OVF_vect, ISR_NOBLOCK) через max7219SendDataBuf(outBuf);. Но хоть что то показывает вот посмотрите https://yadi.sk/i/0N9a6zFzzNhcc https://yadi.sk/i/pJN9dJH4zNimJ.
Для MAX7219 прерывания эти вообще не нужны. Их и в инициализации следует отключить, и сами прерывания полностью закомментировать.
Здесь нужно не по прерыванию экран обновлять, а по факту отрисовки чего-либо.
Здесь нужно не по прерыванию экран обновлять, а по факту отрисовки чего-либо.
- Сообщения: 49
- Зарегистрирован: Пт июл 10, 2015 16:06:24
Здравствуйте.
Сгорели по очереди max7219 из готового набора 8*4 с aliexpress.
Заказал отдельно max7219 , их нужно инициализировать , подойдет этот способ: http://radiolaba.ru/microcotrollers/max ... torov.html или надо делать как то иначе?
Спасибо.
Сгорели по очереди max7219 из готового набора 8*4 с aliexpress.
Заказал отдельно max7219 , их нужно инициализировать , подойдет этот способ: http://radiolaba.ru/microcotrollers/max ... torov.html или надо делать как то иначе?
Спасибо.
Не понял, о чём вообще речь. Что куда инициализировать?
- Сообщения: 49
- Зарегистрирован: Пт июл 10, 2015 16:06:24
В data sheet на MAX7219 сказано перед использованием провести инициализацию, т.к. она идет не "запрограммированная"
Или же программа часов все это делает сама?
Или же программа часов все это делает сама?
Впервые слышу.
- Сообщения: 49
- Зарегистрирован: Пт июл 10, 2015 16:06:24
Микросхемы придут проверю, но чисто для теории надо их инициализировать или просто запаять и все будет
и так работать ?
и так работать ?
Просто запаяйте
- Сообщения: 49
- Зарегистрирован: Пт июл 10, 2015 16:06:24
MAX7219 это драйвер лед дисплея.
Инициализацию (настройку режимов работы драйвера) производит программа
конкретного устройства и при замене мс других телодвижений делать не надо (см WiseLord).
Инициализацию (настройку режимов работы драйвера) производит программа
конкретного устройства и при замене мс других телодвижений делать не надо (см WiseLord).
- Сообщения: 162
- Зарегистрирован: Ср фев 02, 2011 16:22:32
Залил последнюю прошивку-- теперь стала очень высокая яркость при искусственном освещении. в редакторе еепром есть фишка ограничения макс яркости, но надо чтоб при дневном свете яркость могла становиться максимальной. как быть? и еще при отключенном dht22 все равно пробегают нулевые показания температуры и влажности. так и должно быть?
P.S. печально что нет среднего шрифта с секундами.. лучше бы мелкий убрали((
P.S. печально что нет среднего шрифта с секундами.. лучше бы мелкий убрали((
Убирание мелкого шрифта ничего бы не дало, так как всё равно бегущая строка нужна. А вот удаление одного из двух больших шрифтов позволило место в прошивке для других полезностей освободить.
- Сообщения: 162
- Зарегистрирован: Ср фев 02, 2011 16:22:32
насчет шрифтов понял. а что с АЦП могло случиться, что так яркость поднялась?
И насчет индикации нулей при отключенном DHT22
И насчет индикации нулей при отключенном DHT22
Не знаю. С апреля никаких изменений по поводу яркости не вносилось. Если отключить DHT22, то после подачи питания показаний влажности быть не должно.


