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

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


Ответить

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

Ср апр 29, 2015 18:35:57

Обновление прошивки.

- Поддержка цепочки из четырёх матриц.

В трёх матрицах отрисовка ведётся как раньше (с секундами в двоичном коде на последнем столбце), на четвёртой дополнительно отображаются секунды меньшим шрифтом.

Во вложении также проект для Proteus. Исходники на GitHub.

P.S.

Небольшая оговорка: опция разворота картинки на 180 градусов сейчас корректно работает для варианта из четырёх матриц:
Код:
[ 1   2   3   4 ] - используются 4 матрицы;
[ 4   3   2   1 ] - они же повёрнуты.
Код:
[ 1   2   3 ] 4 - используются 3 матрицы, секунд с четвёртой просто не видно
[ 4   3   2 ] 1 - они же повёрнуты, не видно часов, но видны секунды :)

В настоящее время переделываю архитектуру проекта для добавления поддержки матрицы на HT1632.
Вложения
matrixclock-ac15390.7z
(26.69 KiB) Скачиваний: 741

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

Чт апр 30, 2015 19:12:08

WiseLord большое Вам спасибо за быстрые и конкретные ответы! По Вашим подсказкам внёс изменения в код и все четыре матрицы заработали нормально и даже получилось вывести на четвёртую матрицу бегущие секунды. Но цифры были большими, что было не гармонично. Два вечера думал как их уменьшить. То, что уменьшенные цифры надо ввести в шрифт вместо не нужных символов, это до меня дошло, но вот в каком месте кода определяется вывод цифр из шрифта ни как не доходит. Если не сложно ткните носом пожалуйста. А сегодня гляжу Вы уже всё сделали что я хотел, но всё равно хочется понять как это сделано. Залил Вашу обновлённую прошивку и, на мой взгляд, смотрится весьма не плохо и свежо, особенно на фоне 3-х матричных часов, коих в квартире 2 штуки, а так же мозолят глаза на работе и у родителей. Правда секунды в двоичном коде я ещё считывать не могу, но как их убрать я уже знаю.

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

Чт апр 30, 2015 19:32:33

Функция max7219LoadNumString(). Работает как обычная, но загружает из шрифта символы (цифр) в буфер со смещением 0xC0, попадая на мелкие цифры вместо обычных.

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

Вс май 03, 2015 11:48:47

Обновление прошивки.

- Рефакторинг кода, вся конфигурация ножек МК вынесена в файл pins.h;

- Поддержка контроллера HT1632 в конфигурации 32 * 8 светодиодов (4 матрицы). Разводка ATmega8 в этом случае соответвует продаваемой китайцами плате JY-MCU 3208pro;

- Переход на программный I²C (в связи с использованием в вышеупомянутой плате для I²C "случайных" ножек МК);

Возможность программного разворота картинки на 180 градусов временно отключена, так как варианты для трёх и четырёх матриц нужно поворачивать по-разному.
Вложения
matrixclock-6b54c59.7z
(11.34 KiB) Скачиваний: 717

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

Пн май 04, 2015 08:37:34

Хотелось бы попросить вас скомпилировать эту крайнюю прошивку под mega328p. Я, к сожалению, в программировании полный "0" :( . И если не трудно, ввести возможность смены шрифтов отображения времени как тут или хотя бы заменить шрифт на такой, как в "стоковой" прошивке в параллельной ветке . Т.к. функционал-важно, но визуализация -тоже не последнее дело.
Заранее благодарен.

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

Пн май 04, 2015 09:54:27

ОК, держите вариант для ATmega328.

А насчёт шрифтов - я так и не понял, что не так с теми, что есть. По-моему, всё прекрасно.

Если хотите предложить что-то другое, милости прошу. Шаблоны картинок во вложении, нарисуйте в том же paint свой вариант и отдельно все цифры прорисуйте. Если в этом будет смысл - можно будет и поменять.
Вложения
matrixclock-m328.7z
(11.62 KiB) Скачиваний: 742
matrixclock-design.7z
(2.41 KiB) Скачиваний: 569

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

Пн май 04, 2015 10:09:06

Огромное спасибо.
Попробую чуть позже (сейчас не дома).
Изображение
Пятый шрифт или шестой на цифры можно поставить? Или, если есть такая возможность сделать выбор шрифта цифр из меню?
Еще желательно сделать коррекцию показываемой температуры датчика (китайские у меня врут на +1.3-+1.4 гр. С) из меню.
С вашей прошивкой не знаком пока, возможно у вас все уже реализовано :)

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

Пн май 04, 2015 15:14:59

WiseLord как должны быть сконфигурированы fuse для ATmega328p? Вроде нигде не прописано :(
Так выглядит шрифт на "стоковой" прошивке от VVSV для четырехматричного дисплея JY-MCU 3208pro.Изображение У него задействованы все строки.
Ниже приведено, как будет выглядеть предлагаемый мной шрифт для трехматричного дисплея, для четырехматричного же, четвертая матрица либо под секунды, либо под температуру.
Нижняя строка у вас не задействована. В связи с тем, что предлагаемый шрифт шире в каждом знаке на пиксель и между показаниями часов и минут остается всего 2 пикселя, предлагаю перенести две точки разделитель вниз, на незадействованную строку. Поочередно зажигая на нижней строке точки в центре, справа и слева. Дни, когда будильник включен, то, что у вас отображается справа зажжеными пикселями вертикально, предлагаю переместить вправо незадействованной строки горизонтально или на четырехматричном дисплее сверху, на четвертой матрице над секундами.
Вложения
150504_160039.jpg
Так по идее должен выглядеть шрифт для техматричного дисплея
(254.83 KiB) Скачиваний: 1109
Последний раз редактировалось vadpi Пн май 04, 2015 15:36:05, всего редактировалось 2 раз(а).

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

Пн май 04, 2015 15:16:02

Фьюзы на 8МГц, внутренний генератор.

А где четвёртая матрица на картинке?

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

Пн май 04, 2015 15:27:15

Отредактировал сообщение.
Т.е. включить внутренний 8МГц генератор, а остальные по-умолчанию?

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

Пн май 04, 2015 16:22:28

Можно ещё EESAVE бит установить, чтобы при прошивке не затирался EEPROM. В общем, смотрите на Makefile ATmega8 (для avrdude lfuse = 0xE4, hfuse = 0xD1) и ставьте по аналогии.

Кстати, Вы там упоминаете постоянно некую "стоковую" прошивку. Но в той ветке для HT1632 я только для ATmega328 видел прошивку, т.е. уже не стоковую (под ATmega8). Может, я что-то упустил?

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

Пн май 04, 2015 16:37:33

Cпасибо за оперативный ответ. Попробую подобрать конфигурацию fuse для mega328p.
В оригинальных часах JY-MCU 3208pro стоит mega8l. Я ее оттуда давно выпаял :) и поставил mega328p. Это уже не оригинальные часы. По-этому слово "стоковая" я пишу в кавычках. Стоковая-в смысле та, которую написал VVSV для переделанных часов. Он туда еще и датчик давления BMP180 установил...

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

Пн май 04, 2015 17:00:51

Не сочтите за труд, проверьте пожалуйста fuse mega328p (low fuse=0x62 , high fuse=0xD3 ext fuse=0xFD)? Нигде я не накосячил? А то жалко кристалл загубить :(

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

Пн май 04, 2015 18:09:40

Нормально, практически дефолтные (кроме EESAVE и BOOTSZ0).

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

Пн май 04, 2015 19:07:55

Cпасибо.
Или может отключить CKDIV8 (Деление тактовой частоты на 8 )?
Тогда lfuse=0xE2
Не судите строго, я тут полный "чайник" :))
И еще, на плате переделанной JY-MCU 3208pro впаян кварц на 16 МГц. Он в данном случае не задействуется? Может имеет смысл его включить или это не совместимо с вашей программой?

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

Пн май 04, 2015 19:13:57

Не используется. А куда он там у Вас впаян - там ведь контактные площадки только для 32кГц часового кварца, и как можно впаять 12/16МГц кварц без изврата с подгибанием ножек, даже не представляю.

Да, делитель на 8, если он у 328 меги есть, надо отключить.

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

Пн май 04, 2015 19:22:50

Спасибо, отключим.
Да, впаян вместо часового кварца и "обвязан" конденсаторами.
У VVSV так:
Изображение
У меня чуть лучше, но примерно так же :)))
Почему надо включать "порог монитора питания =2,7В". Батарея во время сна процессор не запитывает. Может включить порог монитора питания=4,3В или все равно?

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

Пн май 04, 2015 19:58:37

Вот тестовая прошивка с "большими" цифрами (шрифт номер 6 на фото). На мой взгляд, выглядит намного хуже исходного варианта, так как цифры сливаются. Так что с моей стороны развития этот шрифт не получит.
Вложения
matrixclock-test_bignum.7z
(19.2 KiB) Скачиваний: 531

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

Пн май 04, 2015 20:27:00

Все, умудрился залочить чип :cry: , прошившись с фьюзами для внешнего тактирования. Другого 328 у меня нет :evil:
Ваши прошивки работают на mega8L?

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

Пн май 04, 2015 21:05:21

Частота 8МГц, так что должны.
Ответить