Страница 38 из 93

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

Добавлено: Чт окт 01, 2015 15:22:00
WiseLord
dt_andrew писал(а):почему плохая
Потому что при случайном входе в режим настройки времени мы из него в таком случае не выйдем, не затронув время.
dt_andrew писал(а):смотрите как сейчас, входим в режим редактирования нужно перейти к секндам и нажимать кнопки + и - для обнуления и в момент перехода через 0 нужно успеть нажать длинно на кн1
Всё работает не так. Когда надо обнулить - обнулили. А потом в любой момент спокойно вышли.

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

Добавлено: Чт окт 01, 2015 15:22:41
dt_andrew
да так прокатывает, но потом надо еще кнопку выхода нажимать

хотите вы установить время например 12:00
на часах с которыми сверяетесь 11:59:30
вошли, а текущие время 11:59:50, вам сначала надо успеть добраться до параметра сек, обнулить их + или - (иначе если пропустите мин прибавятся) и ждать перехода 0

я же предлагал - установили время и дату и в момент перехода нажали длинно кн1
я согласен, что может это и излишние придирки и хотелки, но с точки зрения пользователя лишние нажатия никак не добавляют удобства настройки

попробуйте обьяснить это например пожилой женщине

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

Добавлено: Чт окт 01, 2015 15:24:53
WiseLord
Попробуйте объяснить тогда этой женщине, почему с каждым выходом из настроек времени (как Вы предлагаете) часы случайным образом отстают на 1..59 секунд, хотя вроде ничего не редактировалось.

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

Добавлено: Чт окт 01, 2015 15:27:29
dt_andrew
хорошо убедили, оставляем как есть сейчас

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

Добавлено: Сб окт 03, 2015 07:46:17
dt_andrew
Запустил модуль F3.75
однозначно требуется светофильтр, при зажигании светодиода видна вся структура кристалла
протокол HUB08 мало чем отличается от управления регистом 74хх595
требуется только определять еще строки записи A B C D (всего 16)
яркость придется регулировать ШИМ, прямого задания нет
на матрице присутсыуют микросхемы регисторов XCX6616S аналогичные 595 только на 16 разрядов
также масса ключей на полевиках 4923, также входной буфер для согласования уровней
честно восторга данная панель у меня не вызвала, требуется постоянно загрузка процессора и минимум 2 обработчика прерывания для отображения без морганий и регулировки яркости.

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

Добавлено: Сб окт 03, 2015 08:44:35
Kuzma511
dt_andrew здравствуйте. Прошивка подошла mod2 работает нормально. Один вопрос - уточните подключение кнопок. SET не работает вообще да и остальные как то не очень. Печатка стр 29. Спасибо

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

Добавлено: Сб окт 03, 2015 09:07:57
dt_andrew
определение в pins.h согласно плате
D8 D7 D6 Ардуино, что соответствует PB0 PD7 PD6
я же не просто так выложил прошивку, я ее проверил на своей плате - все работает
попробуйте эти

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

Добавлено: Сб окт 03, 2015 20:26:37
WiseLord
dt_andrew писал(а):Запустил модуль F3.75
Тоже здесь заказывали?

Мне вчера пришёл этот модуль, но маркировка (бумажная наклейка) на нём была другая, F04-6DT-3714-560.

Утром сел, прозвонил входной разъём, разобрался что к чему идёт.

Изображение

Разъём у меня такой:

Код: Выделить всё

GND   LA
GND   LB
GND   LC
OE    LD
R1    G1
R2    G2
GND  LAT
GND  CLK
По результатам прозвонки и изучения даташитов, выходит так:

OE - лог. 1 выключает всё, лог. 0 включает
R1 - последовательные данные для строки (64 бит) красного цвета
R2 - похоже, никуда не подключен. Возможно, используется в матрицах 64x32
LA, LB, LC, LD - выбор одной из 16-ти строк
G1, G2 - аналогично R1/R2, только для зелёного цвета. Китайцы сэкономили, и часть "зелёных" элементов не распаяли. Да и матрицы, хоть и имеют "двухцветную" разводку, на самом деле одноцветные
LAT - защёлка. После забивания строки 64 битами данных (через R1) строб на LAT защёлкивает их и строка зажигается.
CLK - тактирование данных. 64 строба - и данные с R1 распределены по строке.

dt_andrew, у вас такая же система получилась? Если всё так же, то можно будет при желании объединить усилия по работе над этой светодиодной доской.

Кстати, как я уже писал, у меня наклейка на плате была с маркировкой F04-6DT-3714-560. И фотография у продавца несколько не соответствует полученной мною плате - чуть по-другому повёрнуты микросхемы, и прочие разные мелочи.

В общем, на моём варианте платы обнаружился забавный аппаратный баг. Два 3=>8 дешифратора 74HC138, отвечающие за выборку строки (LA..LD сигналы) имеют 3 входа выборки (E1 & E2 & nE3). Чтобы был выбран один из 8 выходов, на них нужно, соответственно, подать 0-0-1. Иначе все выходы будут в Z-состоянии.
В общем, входы E1 микросхемы 1 и nE3 микросхемы 2 объединены, за счёт чего получается типа дешифратор 4=>16. А входы E2 обеих 74HC138 объединены и по смыслу должны управляться той же ножкой OE, но в моём варианте платы они обе почему-то подключены к питанию (через странную цепочку из двух диодов с параллельным резистором) и больше ни к чему. В общем, у меня на E2 была всегда лог. 1, ничем не управляемая, и светодиоды не светились вообще.

Выпаял эти диоды и резистор, тянущие E2 в единицу, и припаял E2 (5 пин дешифратора) к управляемой по OE шине. Заработало.

Изображение

Вот мне и интересно, у Вас другая плата или такая же. Если такая же, Вы столкнулись с этим багом или это только мне повезло? Если другая - можете ли глянуть, у вас эти пины (E1 или E2, должны быть соединены у обеих микросхем) зависят от сигнала OE?

Проблема, конечно, плёвая, и найти её было несложно, но всё же интересно, только ли мне так "повезло".

По поводу качества матриц, тоже могу отметить, что купленные отдельно матрицы 32мм были лучше. Точки в них более "матовые" и светятся полностью и ярче. Тогда как у этих светится только "кристалл", практически точечно.

Кстати, подобное наблюдается также и у модуля J-MCU PRO на HT1632C.

P.S. Если у Вас по управлению всё аналогично, можете глянуть на мои исходники. Они под Arduino Leonardo (atmega32u4), но легко правятся под любую разводку через знакомые Вам по моим проектам pins.h и arduino.h. По всему выходит, что на тактовой частоте 16МГц требуется около 1мкс для обновления всего экрана, т.е. теоретический максимум частоты обновления - около 1000 Гц. Если ограничиться 250Гц и привязать обновление к аппаратному таймеру, получим, что на такую "аппаратную" развёртку понадобится около четверти ресурсов процессора. В принципе, терпимо - на всё прочее остаётся в эквиваленте 12МГц.

P.P.S. По энергопотреблению у меня вышло около 1,7А при всех зажжённых светодиодах, т.е. около 17мА на светодиод.

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

Добавлено: Вс окт 04, 2015 04:09:53
dt_andrew
WiseLord покупал я там же, где и вы

разьем 1 в 1, и наклейка белая такая же

с назначением контактов разобрался как только глянул даташит на регистры xcx6616s - теже 595 регистры

я проверял на скетче от какой то найденной библиотеки (архив прикрепляю)

в тесте у меня вся матрица работает без всякой перепайки
проверю еще ваши исходники - отпишусь

как и писал раньше готов всячески помогать, есть только одно - в понедельник я ложусь на операцию, думаю недели на полторы
а потом готов в бой

PS Да, с вашим кодом не все строки светятся полностью, то есть баг присутсвует
интиресно почему на моем тесте под ардуино все работает как надо может чего не так делаем

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

Добавлено: Вс окт 04, 2015 05:58:16
WiseLord
Разъём - ладно, он и должен быть одинаковым. Но расположение микросхем такое же как на моей картинке, или как у продавца в описании? Скажем, у него микросхемы некоторые на 90 градусов повёрнуты относительно моего варианта.

Можете сказать, какой из вариантов платы у Вас - как на моей картинке, или как у продавца?

И что у Вас, если плата такая же, на 5-й ножке (nE2) дешифраторов происходит? И вообще, есть ли на плате диоды, подобные тем, что я выпаял?

Не все строки светятся - можно фото? Я там зажигаю не всю матрицу, а по сути двоичный перебор вывожу (верхняя часть - номер столбца, нижняя - 255-номер).

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

Добавлено: Вс окт 04, 2015 06:35:51
dt_andrew
Плата точь в точь как на вашей картинке, так же не распаяны несколько микросхем
узел с диодами так же присутствует

картинка работы матрицы по вашим исходникам, запускал на обычной Ардуино УНО
Изображение

глянуть что творится на Е2 не могу, осцил на работе

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

Добавлено: Вс окт 04, 2015 08:06:27
WiseLord
ОК, картинка правильная. Только на 180 градусов плату развернуть.

Попробую, как будет время, тоже залить этот скетч для Arduino. Всё же интересно - это я что-то недосмотрел, или на моей плате какой-то непропай,

Кстати, выпаянный мною резистор не прозванивался - был как "на разрыв", хотя судя по маркировке " 200", должен был быть был быть вроде 20 Ом. У Вас там как с этим?

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

Добавлено: Вс окт 04, 2015 08:24:04
dt_andrew
у меня резистор имеет странную маркировку 30D и звониться как 210К
в скече моем выбор строки производиться такими операторами, а потом следует строб

Код: Выделить всё

digitalWrite(oe, HIGH);              // disable display

    // select row
    digitalWrite(a, (row & 0x01));
    digitalWrite(b, (row & 0x02));
    digitalWrite(c, (row & 0x04));
    digitalWrite(d, (row & 0x08));

    // latch data
    digitalWrite(stb, LOW);
    digitalWrite(stb, HIGH);
    digitalWrite(stb, LOW);

    digitalWrite(oe, LOW);              // enable display

    row = (row + 1) & 0x0F;
и вся матрица с картинкой нормально прорисовывается
заметил также что в моем скетче в процедуре сканирования матрицы есть только один строб на защелку, а в вашем коде 2

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

Добавлено: Вс окт 04, 2015 08:55:24
dt_andrew
начал пробовать заполнять буфер в вашем коде разными патернами

Код: Выделить всё

	for (i = 0; i < HUB08_WIDTH; i++) {
		row0[i] = 255 - i;
		row1[i] = 255 - i;
	}
и понял что все работает без перепайки - все строки работают
повернул матрицу, чтоб было как у вас (входной разьем справа)
0 байт в буфере row0 row1 - это вертикальный левый столбец верхнего блока матриц и нижнего соответсвенно
1 байт это следующий столбец вправо и т.д.

при патерне 0хFF - вся матрица светиться, так что все в коде у вас правильно

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

Добавлено: Вс окт 04, 2015 09:00:45
bim1405
dt_andrew Желаю тебе удачи,и операция прошла на отлично!

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

Добавлено: Вс окт 04, 2015 09:19:51
dt_andrew
Спасибо, все будет нормально

С помощью LED Matrix studio рисую разные картинки все соответсвует загруженному буферу

Изображение

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

Добавлено: Вс окт 04, 2015 15:14:02
shura2000
По фото матрицы кривовато напаяны?

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

Добавлено: Вс окт 04, 2015 15:17:44
dt_andrew
нет, все давольно ровно

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

Добавлено: Вс окт 04, 2015 19:24:56
WiseLord
Андрей, а у вас на ардуиновских скетчах тоже всё мерцает и давит на глаза из-за низкой частоты обновления?

P.S. Вернул на место диоды с резистором (кстати, 30D вроде как 200кОм по маркировке, как ни странно). Собрал в Arduino эти три скетча, вгрузил - тоже без аппаратного фикса платы ничего не выводится. Как я уже и говорил, E2 (5 вывод) ножки дешифраторов всё время в логической единице, прозвон показывает, что они не подключены больше ни к чему - только соединены между собой и через резисторы-диоды подтянуты к питанию и ничем не управляются, хотя по смыслу должны быть подключены к OE (через ключи на 74HC245). В итоге все ключи на полевиках закрыты, ни одна из 16-ти строк не выбрана.

Возможно, с платой всё в порядке, но где-то (под матрицами - там-то не видно) непропай или дорожка повреждена. В общем, вернул перемычку на место, да и детали ранее выпаянные оставил на их местах. Похоже, мне так "повезло" с конкретно этим экземпляром платы.

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

Добавлено: Пн окт 05, 2015 03:31:48
dt_andrew
у меня мерцаний нет, ни на ардуиновских скетчах на на вашем коде
при чем в библиотеке ultrathin-16x32-red-led-matrix-panel для ардуино, есть 3 примера, один из них сканирует просто в цикле - вот там мерцания есть
в скетче который я дал используется сканирование по таймеру - мерцаний нет

на вашем коде тоже никаких мерцаний
при заполнении буфера row0 row1 патерном 0хFF вся матрица светиться и моргает с частотой 1 сек (ну так и задумано у вас по коду)
из больнички выйду притащу осцил и разберемся что там должно быть на Е2

походу точно где то непропай в переходах