Ясно.WiseLord писал(а):По поводу DHT11 не уверен, нужно ли. Там и параметры хуже, и протокол чуть другой, да и нету его у меня в наличии.
Часы на светодиодных матрицах с драйверами MAX7219
- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: Часы на светодиодных матрицах с драйверами MAX7219
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
- Реклама
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Часы на светодиодных матрицах с драйверами MAX7219
Причину нашёл - из-за изменения в pins.h при выборе MAX7219MOD выбирается разводка ножек как для HT1632.Maxtor62 писал(а):Нет, и после компиляции прошивки из проекта на MAX7219mod ни чего не работает! Что то где то не так!
Исправлено.
Также исправлены выбросы яркости при использовании фоторезистора.
Помогло простое увеличение скорости тактирования АЦП. Во всяком случае, у меня кратковременные выбросы яркости исчезли.
P.S. Файл с прошивками перезалит с учётом последних правок.
- Вложения
-
- matrixclock-51a77d2.7z
- (23.01 КБ) 329 скачиваний
Re: Часы на светодиодных матрицах с драйверами MAX7219
Еще идея появилась. Счетчик импульсов же не сложно реализовать и на математике простой выводить данные от СБМ-20 в мкр/час... Вроде вообще не сложно. Сложнее запитать сам датчик и запихать его в корпус...
-
Maxtor62
- Первый раз сказал Мяу!
- Сообщения: 37
- Зарегистрирован: Чт авг 29, 2013 10:16:34
- Откуда: Иркутск
Re: Часы на светодиодных матрицах с драйверами MAX7219
Wiselord большое спасибо, всё заработало! Есть один недочёт: при выводе бегущей строки температуры, давления и влажности, смена режима на показания времени происходит до окончания прокрутки значения влажности, где-то с середины экрана. Очень неприятный получается эффект. Если можно поправьте, пожалуйста. И ещё, хочу спросить по поводу вывода бегущей строки через заданное время, а не фиксированное как сейчас, что то получиться сделать или уже нет?
Стесняюсь спросить: а Вы где живёте? На урановых рудниках или возле АЭС, что так необходимо контролировать уровень радиации?
Лично для меня в данном проекте есть уже всё что нужно и я восхищаюсь WiseLordом как программистом, сумевшим всё это впихнуть в мегу8. И если бы я что то добавил, то только в плане повышения информативности, а именно при выводе давления выводить повышается оно или падает.
ksa69 писал(а):Еще идея появилась. Счетчик импульсов же не сложно реализовать и на математике простой выводить данные от СБМ-20 в мкр/час...
Стесняюсь спросить: а Вы где живёте? На урановых рудниках или возле АЭС, что так необходимо контролировать уровень радиации?
Лично для меня в данном проекте есть уже всё что нужно и я восхищаюсь WiseLordом как программистом, сумевшим всё это впихнуть в мегу8. И если бы я что то добавил, то только в плане повышения информативности, а именно при выводе давления выводить повышается оно или падает.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Часы на светодиодных матрицах с драйверами MAX7219
У себя я такого не наблюдаю, строка прокручивается полностью.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
Всё понятно, но я залил именно последнюю Вашу прошивку и в ней слово "температура" присутствует и именно из за этого, кажется, получается такой эффект. А количество датчиков именно такое как и у Вас. Вообще то я всегда изменяю и сокращаю для себя бегущую строку и отключаю вывод температуры с BMP180, просто залил Вашу как исходную для проверки. Сейчас внесу свои изменения и посмотрю, что получиться.
...
Да, действительно без слова "температура" всё нормально! А что по поводу изменения времени вывода бег.строк?
...
Да, действительно без слова "температура" всё нормально! А что по поводу изменения времени вывода бег.строк?
Re: Часы на светодиодных матрицах с драйверами MAX7219
Ну не АЭС, а просто в нескольких километрах завод РосАтома, который ТВЭЛы для АЭС производит))
Что то вечером не заработала прошивка, точнее глюк с регулировкой яркости. Автоматическая не работала, а ручная - ставишь на три яркость, выходишь в основной режим и яркость опять на максимум ставится. А та что днем была прошивка, в той мерцала яркость, выше вроде писали уже про это.
Что то вечером не заработала прошивка, точнее глюк с регулировкой яркости. Автоматическая не работала, а ручная - ставишь на три яркость, выходишь в основной режим и яркость опять на максимум ставится. А та что днем была прошивка, в той мерцала яркость, выше вроде писали уже про это.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Часы на светодиодных матрицах с драйверами MAX7219
А терморезистор отключен при этом? Pull-down резистор на землю присутствует? Без него система может считать, что терморезистор присутствует, и выдавать данные от АЦП.ksa69 писал(а):а ручная - ставишь на три яркость, выходишь в основной режим и яркость опять на максимум ставится.
Надо подумать. Вообще мысль хорошая - выводить бегущую строку не с привязкой по времени, а через n секунд после вывода предыдущей строки. Неважно, выведенной автоматически, или затребованной вручную кнопкой. На выходных попробую реализовать.Maxtor62 писал(а):А что по поводу изменения времени вывода бег.строк?
Re: Часы на светодиодных матрицах с драйверами MAX7219
Все резисторы присутствуют. Я сменил только прошивку, перепроверю еще раз pins.h может в нем где накосячил я...
Re: Часы на светодиодных матрицах с драйверами MAX7219
после трех дневного тестирования, стала вылазить такая неприятность
при выводе бегущей строки с температурой
раньше было "Температура 25.4 С в комнате"
сейчас выводиться
"Температура 25.4 С в комнатеяснаружи"
в чем косяк, куда глянуть
прошивка MOD_X3
при выводе бегущей строки с температурой
раньше было "Температура 25.4 С в комнате"
сейчас выводиться
"Температура 25.4 С в комнатеяснаружи"
в чем косяк, куда глянуть
прошивка MOD_X3
- shura2000
- Вымогатель припоя
- Сообщения: 613
- Зарегистрирован: Пн фев 23, 2015 21:17:29
- Откуда: г. Протвино, МО
Re: Часы на светодиодных матрицах с драйверами MAX7219
Епром от предыдущей версии.
В последней вроде убрали "Температура"
В последней вроде убрали "Температура"
Re: Часы на светодиодных матрицах с драйверами MAX7219
я не прошивал никаких новых версий, меня и первая прошивка MOD_X3 вполне устраивает
3 дня все было нормально, и само началось
допускаю слет ЕЕПРОМ - проверю конечно
UPD. действительно слетела ЕЕПРОМ
вместо разделителя 0 между "температура" и "снаружи" почему то прописалось "я" (0xFF)
все нормально стало - тестируем дальше
3 дня все было нормально, и само началось
допускаю слет ЕЕПРОМ - проверю конечно
UPD. действительно слетела ЕЕПРОМ
вместо разделителя 0 между "температура" и "снаружи" почему то прописалось "я" (0xFF)
все нормально стало - тестируем дальше
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Часы на светодиодных матрицах с драйверами MAX7219
Просто "я" - это 0xFF в EEPROM. Может, где-то редактировалось и случайно вписано было.
Re: Часы на светодиодных матрицах с драйверами MAX7219
что-то не применяется патч... пишет unrecognized input и всё тут. склонировал свежую ветку. перенес патч в каталог matrixclock. и git apply выдает эту надпись...
Re: Часы на светодиодных матрицах с драйверами MAX7219
Спойлер
Re: Часы на светодиодных матрицах с драйверами MAX7219
нет, я ничего не редактировал
и 3 дня все было нормально
возможно ЕЕПРОМ слетел по причине выключения и включения часов - боялся оставлять включенным когда уходил на работу
протестирую за выходные без этих выключений
да и видно платы с 328 мегой с Китая дают о себе знать по качеству контроллера
проблема закрыта
и 3 дня все было нормально
возможно ЕЕПРОМ слетел по причине выключения и включения часов - боялся оставлять включенным когда уходил на работу
протестирую за выходные без этих выключений
да и видно платы с 328 мегой с Китая дают о себе знать по качеству контроллера
проблема закрыта
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Часы на светодиодных матрицах с драйверами MAX7219
Какие-то заморочки с windows, явно.ksa69 писал(а):что-то не применяется патч
Попробуйте:
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 раза.
Re: Часы на светодиодных матрицах с драйверами MAX7219
ок. вечером попробую на домашнем компе, у меня там kalilinux стоит. с этой виндой и впрямь одни глюки, то компилировать не хотела из за size.sh, то программатор не работает толком. теперь вот это вылезло.
через баш то же самое. поправлю руками исходники опять.. потом разберусь
через баш то же самое. поправлю руками исходники опять.. потом разберусь
- Вложения
-
- QIP Shot - Screen 021.png
- (29.74 КБ) 873 скачивания
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Часы на светодиодных матрицах с драйверами MAX7219
Ну так файл патча порченый. Его получать нужно тоже в чисто настроенном git.
Re: Часы на светодиодных матрицах с драйверами MAX7219
Перешил фьюзы на внутренний генератор на 8 МГц и все заработало. На 16МГц никак регулировка яркости от фоторезистора не хотела работать. Видимо что то с настройками АЦП... И плавность изменения яркости сейчас уже не та. Раньше плавно менялась, сейчас мгновенно практически.


