В трёх матрицах отрисовка ведётся как раньше (с секундами в двоичном коде на последнем столбце), на четвёртой дополнительно отображаются секунды меньшим шрифтом.
Во вложении также проект для Proteus. Исходники на GitHub.
P.S.
Небольшая оговорка: опция разворота картинки на 180 градусов сейчас корректно работает для варианта из четырёх матриц:
Код:
[ 1 2 3 4 ] - используются 4 матрицы; [ 4 3 2 1 ] - они же повёрнуты.
Код:
[ 1 2 3 ] 4 - используются 3 матрицы, секунд с четвёртой просто не видно [ 4 3 2 ] 1 - они же повёрнуты, не видно часов, но видны секунды :)
В настоящее время переделываю архитектуру проекта для добавления поддержки матрицы на HT1632.
WiseLord большое Вам спасибо за быстрые и конкретные ответы! По Вашим подсказкам внёс изменения в код и все четыре матрицы заработали нормально и даже получилось вывести на четвёртую матрицу бегущие секунды. Но цифры были большими, что было не гармонично. Два вечера думал как их уменьшить. То, что уменьшенные цифры надо ввести в шрифт вместо не нужных символов, это до меня дошло, но вот в каком месте кода определяется вывод цифр из шрифта ни как не доходит. Если не сложно ткните носом пожалуйста. А сегодня гляжу Вы уже всё сделали что я хотел, но всё равно хочется понять как это сделано. Залил Вашу обновлённую прошивку и, на мой взгляд, смотрится весьма не плохо и свежо, особенно на фоне 3-х матричных часов, коих в квартире 2 штуки, а так же мозолят глаза на работе и у родителей. Правда секунды в двоичном коде я ещё считывать не могу, но как их убрать я уже знаю.
Функция max7219LoadNumString(). Работает как обычная, но загружает из шрифта символы (цифр) в буфер со смещением 0xC0, попадая на мелкие цифры вместо обычных.
- Рефакторинг кода, вся конфигурация ножек МК вынесена в файл pins.h;
- Поддержка контроллера HT1632 в конфигурации 32 * 8 светодиодов (4 матрицы). Разводка ATmega8 в этом случае соответвует продаваемой китайцами плате JY-MCU 3208pro;
- Переход на программный I²C (в связи с использованием в вышеупомянутой плате для I²C "случайных" ножек МК);
Возможность программного разворота картинки на 180 градусов временно отключена, так как варианты для трёх и четырёх матриц нужно поворачивать по-разному.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
Добавлено: Пн май 04, 2015 08:37:34
Открыл глаза
Зарегистрирован: Вт май 06, 2014 00:53:29 Сообщений: 57 Откуда: Воронеж
Рейтинг сообщения:0
Хотелось бы попросить вас скомпилировать эту крайнюю прошивку под mega328p. Я, к сожалению, в программировании полный "0" . И если не трудно, ввести возможность смены шрифтов отображения времени как тут или хотя бы заменить шрифт на такой, как в "стоковой" прошивке в параллельной ветке . Т.к. функционал-важно, но визуализация -тоже не последнее дело. Заранее благодарен.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
А насчёт шрифтов - я так и не понял, что не так с теми, что есть. По-моему, всё прекрасно.
Если хотите предложить что-то другое, милости прошу. Шаблоны картинок во вложении, нарисуйте в том же paint свой вариант и отдельно все цифры прорисуйте. Если в этом будет смысл - можно будет и поменять.
Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
Добавлено: Пн май 04, 2015 10:09:06
Открыл глаза
Зарегистрирован: Вт май 06, 2014 00:53:29 Сообщений: 57 Откуда: Воронеж
Рейтинг сообщения:0
Огромное спасибо. Попробую чуть позже (сейчас не дома).
Пятый шрифт или шестой на цифры можно поставить? Или, если есть такая возможность сделать выбор шрифта цифр из меню? Еще желательно сделать коррекцию показываемой температуры датчика (китайские у меня врут на +1.3-+1.4 гр. С) из меню. С вашей прошивкой не знаком пока, возможно у вас все уже реализовано
Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
Добавлено: Пн май 04, 2015 15:14:59
Открыл глаза
Зарегистрирован: Вт май 06, 2014 00:53:29 Сообщений: 57 Откуда: Воронеж
Рейтинг сообщения:0
WiseLord как должны быть сконфигурированы fuse для ATmega328p? Вроде нигде не прописано Так выглядит шрифт на "стоковой" прошивке от VVSV для четырехматричного дисплея JY-MCU 3208pro. У него задействованы все строки. Ниже приведено, как будет выглядеть предлагаемый мной шрифт для трехматричного дисплея, для четырехматричного же, четвертая матрица либо под секунды, либо под температуру. Нижняя строка у вас не задействована. В связи с тем, что предлагаемый шрифт шире в каждом знаке на пиксель и между показаниями часов и минут остается всего 2 пикселя, предлагаю перенести две точки разделитель вниз, на незадействованную строку. Поочередно зажигая на нижней строке точки в центре, справа и слева. Дни, когда будильник включен, то, что у вас отображается справа зажжеными пикселями вертикально, предлагаю переместить вправо незадействованной строки горизонтально или на четырехматричном дисплее сверху, на четвертой матрице над секундами.
Вложения:
Комментарий к файлу: Так по идее должен выглядеть шрифт для техматричного дисплея 150504_160039.jpg [254.83 KiB]
Скачиваний: 1111
Последний раз редактировалось vadpi Пн май 04, 2015 15:36:05, всего редактировалось 2 раз(а).
Можно ещё EESAVE бит установить, чтобы при прошивке не затирался EEPROM. В общем, смотрите на Makefile ATmega8 (для avrdude lfuse = 0xE4, hfuse = 0xD1) и ставьте по аналогии.
Кстати, Вы там упоминаете постоянно некую "стоковую" прошивку. Но в той ветке для HT1632 я только для ATmega328 видел прошивку, т.е. уже не стоковую (под ATmega8). Может, я что-то упустил?
Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
Добавлено: Пн май 04, 2015 16:37:33
Открыл глаза
Зарегистрирован: Вт май 06, 2014 00:53:29 Сообщений: 57 Откуда: Воронеж
Рейтинг сообщения:0
Cпасибо за оперативный ответ. Попробую подобрать конфигурацию fuse для mega328p. В оригинальных часах JY-MCU 3208pro стоит mega8l. Я ее оттуда давно выпаял и поставил mega328p. Это уже не оригинальные часы. По-этому слово "стоковая" я пишу в кавычках. Стоковая-в смысле та, которую написал VVSV для переделанных часов. Он туда еще и датчик давления BMP180 установил...
Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
Добавлено: Пн май 04, 2015 17:00:51
Открыл глаза
Зарегистрирован: Вт май 06, 2014 00:53:29 Сообщений: 57 Откуда: Воронеж
Рейтинг сообщения:0
Не сочтите за труд, проверьте пожалуйста fuse mega328p (low fuse=0x62 , high fuse=0xD3 ext fuse=0xFD)? Нигде я не накосячил? А то жалко кристалл загубить
Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
Добавлено: Пн май 04, 2015 19:07:55
Открыл глаза
Зарегистрирован: Вт май 06, 2014 00:53:29 Сообщений: 57 Откуда: Воронеж
Рейтинг сообщения:0
Cпасибо. Или может отключить CKDIV8 (Деление тактовой частоты на 8 )? Тогда lfuse=0xE2 Не судите строго, я тут полный "чайник" И еще, на плате переделанной JY-MCU 3208pro впаян кварц на 16 МГц. Он в данном случае не задействуется? Может имеет смысл его включить или это не совместимо с вашей программой?
Не используется. А куда он там у Вас впаян - там ведь контактные площадки только для 32кГц часового кварца, и как можно впаять 12/16МГц кварц без изврата с подгибанием ножек, даже не представляю.
Да, делитель на 8, если он у 328 меги есть, надо отключить.
Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
Добавлено: Пн май 04, 2015 19:22:50
Открыл глаза
Зарегистрирован: Вт май 06, 2014 00:53:29 Сообщений: 57 Откуда: Воронеж
Рейтинг сообщения:0
Спасибо, отключим. Да, впаян вместо часового кварца и "обвязан" конденсаторами. У VVSV так:
У меня чуть лучше, но примерно так же Почему надо включать "порог монитора питания =2,7В". Батарея во время сна процессор не запитывает. Может включить порог монитора питания=4,3В или все равно?
Вот тестовая прошивка с "большими" цифрами (шрифт номер 6 на фото). На мой взгляд, выглядит намного хуже исходного варианта, так как цифры сливаются. Так что с моей стороны развития этот шрифт не получит.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 38
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения