Нет, и после компиляции прошивки из проекта на MAX7219mod ни чего не работает! Что то где то не так!
Причину нашёл - из-за изменения в pins.h при выборе MAX7219MOD выбирается разводка ножек как для HT1632.
Исправлено.
Также исправлены выбросы яркости при использовании фоторезистора.
Помогло простое увеличение скорости тактирования АЦП. Во всяком случае, у меня кратковременные выбросы яркости исчезли. P.S. Файл с прошивками перезалит с учётом последних правок.
Еще идея появилась. Счетчик импульсов же не сложно реализовать и на математике простой выводить данные от СБМ-20 в мкр/час... Вроде вообще не сложно. Сложнее запитать сам датчик и запихать его в корпус...
Wiselord большое спасибо, всё заработало! Есть один недочёт: при выводе бегущей строки температуры, давления и влажности, смена режима на показания времени происходит до окончания прокрутки значения влажности, где-то с середины экрана. Очень неприятный получается эффект. Если можно поправьте, пожалуйста. И ещё, хочу спросить по поводу вывода бегущей строки через заданное время, а не фиксированное как сейчас, что то получиться сделать или уже нет?
ksa69 писал(а):
Еще идея появилась. Счетчик импульсов же не сложно реализовать и на математике простой выводить данные от СБМ-20 в мкр/час...
Стесняюсь спросить: а Вы где живёте? На урановых рудниках или возле АЭС, что так необходимо контролировать уровень радиации? Лично для меня в данном проекте есть уже всё что нужно и я восхищаюсь WiseLordом как программистом, сумевшим всё это впихнуть в мегу8. И если бы я что то добавил, то только в плане повышения информативности, а именно при выводе давления выводить повышается оно или падает.
Есть один недочёт: при выводе бегущей строки температуры, давления и влажности, смена режима на показания времени происходит до окончания прокрутки значения влажности, где-то с середины экрана
У себя я такого не наблюдаю, строка прокручивается полностью.
Но причина этого мне, в принципе, известна. Под хранение в памяти прокручиваемой строки используется массив strBuf[MATRIX_BUFFER_SIZE];, размером 576 байт. Соответственно, слишком длинная строка (более ~100 символов, каждый по 5..6 байт) может просто не помещаться в буфере.
У меня три датчика (DS18B20, BMP180, DHT22) и вся строчка с их показаниями, в принципе, помещается в этот буфер. Но если датчиков больше, или текстовые метки в EEPROM слишком длинные - может быть и не так.
Сколько датчиков подключено у Вас, и каких? Какая формируется выводимая строка?
В любом случае, в выложенной прошивке я увеличил размер массива до 640 байт (~11 добавочных символов для вывода) и убрал вывод слова "Температура". Больше тут вряд ли что-то можно сделать, кроме как совершенно иначе организовывать вывод строк. Дальнейшее увеличение размера массива уже не поможет, т.к. и так почти весь 1кБ ОЗУ использован. Можно лишь сами текстовые метки в EEPROM укоротить.
В принципе, у меня написан вариант библиотеки под LED-матрицы, которая не требует для вывода бегущей строки буфера ОЗУ вообще, но под неё так просто проект в текущем состоянии не переведёшь - нужно будет некоторые вещи переписывать полностью. Может, позже как-нибудь и займусь, тогда бы это позволило вообще любое количество любых датчиков подключить.
Всё понятно, но я залил именно последнюю Вашу прошивку и в ней слово "температура" присутствует и именно из за этого, кажется, получается такой эффект. А количество датчиков именно такое как и у Вас. Вообще то я всегда изменяю и сокращаю для себя бегущую строку и отключаю вывод температуры с BMP180, просто залил Вашу как исходную для проверки. Сейчас внесу свои изменения и посмотрю, что получиться. ... Да, действительно без слова "температура" всё нормально! А что по поводу изменения времени вывода бег.строк?
Ну не АЭС, а просто в нескольких километрах завод РосАтома, который ТВЭЛы для АЭС производит)) Что то вечером не заработала прошивка, точнее глюк с регулировкой яркости. Автоматическая не работала, а ручная - ставишь на три яркость, выходишь в основной режим и яркость опять на максимум ставится. А та что днем была прошивка, в той мерцала яркость, выше вроде писали уже про это.
а ручная - ставишь на три яркость, выходишь в основной режим и яркость опять на максимум ставится.
А терморезистор отключен при этом? Pull-down резистор на землю присутствует? Без него система может считать, что терморезистор присутствует, и выдавать данные от АЦП.
Maxtor62 писал(а):
А что по поводу изменения времени вывода бег.строк?
Надо подумать. Вообще мысль хорошая - выводить бегущую строку не с привязкой по времени, а через n секунд после вывода предыдущей строки. Неважно, выведенной автоматически, или затребованной вручную кнопкой. На выходных попробую реализовать.
после трех дневного тестирования, стала вылазить такая неприятность при выводе бегущей строки с температурой раньше было "Температура 25.4 С в комнате" сейчас выводиться "Температура 25.4 С в комнатеяснаружи" в чем косяк, куда глянуть прошивка MOD_X3
я не прошивал никаких новых версий, меня и первая прошивка MOD_X3 вполне устраивает 3 дня все было нормально, и само началось допускаю слет ЕЕПРОМ - проверю конечно
UPD. действительно слетела ЕЕПРОМ вместо разделителя 0 между "температура" и "снаружи" почему то прописалось "я" (0xFF) все нормально стало - тестируем дальше
что-то не применяется патч... пишет unrecognized input и всё тут. склонировал свежую ветку. перенес патч в каталог matrixclock. и git apply выдает эту надпись...
нет, я ничего не редактировал и 3 дня все было нормально возможно ЕЕПРОМ слетел по причине выключения и включения часов - боялся оставлять включенным когда уходил на работу протестирую за выходные без этих выключений да и видно платы с 328 мегой с Китая дают о себе знать по качеству контроллера проблема закрыта
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 раз(а).
ок. вечером попробую на домашнем компе, у меня там kalilinux стоит. с этой виндой и впрямь одни глюки, то компилировать не хотела из за size.sh, то программатор не работает толком. теперь вот это вылезло. через баш то же самое. поправлю руками исходники опять.. потом разберусь
Перешил фьюзы на внутренний генератор на 8 МГц и все заработало. На 16МГц никак регулировка яркости от фоторезистора не хотела работать. Видимо что то с настройками АЦП... И плавность изменения яркости сейчас уже не та. Раньше плавно менялась, сейчас мгновенно практически.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения