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

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

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


Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

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

Сообщение WiseLord »

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

- Исправлен вышеописанный баг редактора с ячейкой EEPROM HOUR_ZERO.

- Изменены некоторые настройки по умолчанию (например, по умолчанию задействованы будильники с понедельника по пятницу).

Исправленный редактор eeprom доступен по прежней сссылке, обновлённая прошивка во вложении.

Ежечасный сигнал пока не отключается (разве что будильник выставить (сам будильник можно не включать) на 23:30. Но вообще да, надо бы добавить эту опцию.
Вложения
matrixclock-981e1b3.7z
(23.86 КБ) 349 скачиваний
Kuzma511
Открыл глаза
Сообщения: 58
Зарегистрирован: Ср апр 16, 2014 07:13:00

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

Сообщение Kuzma511 »

Спасибо. Работает
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

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

Сообщение WiseLord »

Обновление редактора EEPROM.

- Добавлена возможность установки будильника

- Добавлен редактор BIG и EXTRA шрифтов цифр, хранящихся в EEPROM.


Редактор eeprom доступен по прежней сссылке.

Изображение
Аватара пользователя
max50
Мучитель микросхем
Сообщения: 497
Зарегистрирован: Ср дек 10, 2008 21:24:28
Откуда: Алтайский край, Барнаул

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

Сообщение max50 »

Все хорошо, спасибо.
Осталось разобраться с часовым сигналом.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
kloker
Вымогатель припоя
Сообщения: 558
Зарегистрирован: Ср сен 09, 2015 13:09:15

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

Сообщение kloker »

Доброго времени суток, такой вопрос, а как выставить кнопками день недели? часы DS3231 на Mega8 с повернутой матрицейMAX7219.
всё замечательно, но вместо пятницы показывает четверг.

прошивка matrixclock_max7219mod2_atmega8.hex
EEPROM matrixclock_ru.bin
за 07.09.2015

в шпаргалке по кнопкам таковой настройки нет, методом тыка тоже не нашел
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

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

Сообщение WiseLord »

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

- Добавлена возможность отключения ежечасного сигнала

Сигнал по-прежнему действует начиная со времени, на которое выставлен будильник и заканчивая 23:00. Отключить/включить эту возможность можно в редакторе EEPROM или длинным одновременным нажатием кнопок 1 и 3.
Вложения
matrixclock-1fa6817.7z
(24.28 КБ) 303 скачивания
Аватара пользователя
max50
Мучитель микросхем
Сообщения: 497
Зарегистрирован: Ср дек 10, 2008 21:24:28
Откуда: Алтайский край, Барнаул

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

Сообщение max50 »

Теперь все отлично. Спасибо.
Осталось добавить это все на первую страницу.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Аватара пользователя
shura2000
Вымогатель припоя
Сообщения: 613
Зарегистрирован: Пн фев 23, 2015 21:17:29
Откуда: г. Протвино, МО

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

Сообщение shura2000 »

Получается, что после какого то обновления автором в епром, нужно будет опять править под себя. Те же шрифты. Может как то сделать сохранение и загрузку шрифтов в редактор?
AVK
Потрогал лапой паяльник
Сообщения: 349
Зарегистрирован: Сб окт 20, 2007 14:12:03

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

Сообщение AVK »

А исходники вроде же были? Не могу найти.
Нашел, отбой, гитхаб не открывался чот.
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

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

Сообщение WiseLord »

shura2000 писал(а):Получается, что после какого то обновления автором в епром, нужно будет опять править под себя
Нет, не получается. Вас никто не заставляет при обновлении прошивки заливать новый EEPROM, теряя свои изменения. Вам никто не мешает сохранить свой EEPROM и редактировать обновлённым редактором именно его.
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

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

Сообщение dt_andrew »

shura2000, если установить фузе EESAVE, то ЕЕПРОМ вообще не надо будет повторно прошивать, только если измениться структура или будет введен какой то параметр настройки

WiseLord - подскажите где поправить в исходнике
проблема такая
достал собранную матрицу на больших матрицах от предыдущего незавершенного проекта
аноды на MAX7219 разведены правильно, а вот катоды в противоположном порядке
изображение поэтому при любых MOD выводятся зеркально
насколько я разобрался у вас сканирование строк идет снизу вверх, а надо сделать сверху вниз
ткните носом в какой процедуре покопаться, чтоб так сделать
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

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

Сообщение WiseLord »

Зеркально вся конструкция целиком, или каждая матрица по-отдельности? Фото можно увидеть?

У меня сейчас готовой конструкции на MAX7219 под рукой нет, проверить не могу, но можете попробовать:

Здесь проверку инвертировать с data = (rotate ? ... на data = (!rotate ? .... Или ниже по коду, if (rotate) менять на if (!rotate).

Также в пределах этой функции max7219SendDataBuf(), в зависимости от используемого "мода", можете попробовать поменять начальные значения переменных ci, ls, rs (с 0x01 на 0x80 или наоборот) и сдвигать их в противоположную сторону (вместо 0x80 и >> делать 0x01 и << и наоборот).

Пробуйте разные комбинации, какая-нибудь должна помочь.
Последний раз редактировалось WiseLord Сб сен 12, 2015 08:19:22, всего редактировалось 1 раз.
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

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

Сообщение dt_andrew »

вот фото, на часах 00:40 и после нажатия кнопок 1 2 3 поворот на часах 00:41
Изображение
Изображение
спасибо буду пробывать
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

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

Сообщение WiseLord »

В этой ситуации теоретически должна помочь замена

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

data = (rotate ? max7219SwapBits(buf[8 * j + i]) : buf[8 * (MAX7219_NUM_USED - 1 - j) + i]);
на

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

data = (rotate ? buf[8 * j + i] : max7219SwapBits(buf[8 * (MAX7219_NUM_USED - 1 - j) + i]));
то есть, max7219SwapBits (инверсия порядка битов в байте) применяется к другой половине условия.
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

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

Сообщение dt_andrew »

перестал собираться исходник
на make all пишет
Fatal: '/,' does not exist - don't know how to make it
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

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

Сообщение WiseLord »

А зачем вы туда "/," впёрли? Попробуйте совет выше. В эмуляторе вроде работает.
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

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

Сообщение dt_andrew »

с путями разобрался все компилируется
помогло так

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

void max7219SendDataBuf(uint8_t *buf, uint8_t rotate)
{
   uint8_t i, j, data;
   uint8_t ci;

///   ci = 0x01;
   ci = 0x80;
   for (i = 0; i < 8; i++) {
      PORT(MAX7219_LOAD) &= ~MAX7219_LOAD_LINE;
      for (j = 0; j < MAX7219_NUM_USED; j++) {
#if defined(MAX7219MOD)
         data = 0;
         uint8_t k;
         uint8_t ls, rs;
///         ls = 0x80;
///         rs = 0x01;
         ls = 0x01;
         rs = 0x80;
         for (k = 0; k < 8; k++) {
#if defined(MAX7219MOD2)
            if (buf[8 * (!rotate ? j : MAX7219_NUM_USED - 1 - j) + k] & ci)
#else
            if (buf[8 * (rotate ? j : MAX7219_NUM_USED - 1 - j) + k] & ci)
#endif
               data |= (rotate ? ls : rs);
///            ls >>= 1;
///            rs <<= 1;
            ls <<= 1;
            rs >>= 1;
         }
#else
         data = (rotate ? max7219SwapBits(buf[8 * j + i]) : buf[8 * (MAX7219_NUM_USED - 1 - j) + i]);
////                        data = (rotate ? buf[8 * j + i] : max7219SwapBits(buf[8 * (MAX7219_NUM_USED - 1 - j) + i]));
#endif
         if (rotate)
            max7219SendByte(MAX7219_DIGIT_7 - i);
         else
            max7219SendByte(MAX7219_DIGIT_0 + i);
         max7219SendByte(data);
      }
      PORT(MAX7219_LOAD) |= MAX7219_LOAD_LINE;
///      ci <<= 1;
      ci >>= 1;
   }

   return;
}


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

помогло в процедуре

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

void showTime(uint32_t mask)

в конце это

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

      matrixPosData(23, alarmRawWeekday() | hourSignal ? 0x80 : 0x00);

заменил на

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

      matrixPosData(23, alarmRawWeekday() );


огромное спасибо за помощь
все работает как надо
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

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

Сообщение WiseLord »

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

Починил.
Вложения
matrixclock-7f8fa47.7z
(24.3 КБ) 255 скачиваний
Последний раз редактировалось WiseLord Сб сен 12, 2015 10:00:43, всего редактировалось 1 раз.
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

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

Сообщение dt_andrew »

как только введете параметр кукушки и отображение в последней точке столбца разберемся и поправим
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

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

Сообщение dt_andrew »

выбор самого большого шрифта в конфигурации 3 матриц надо запретить
иначе отображение часов не влазит в матрицу
Ответить

Вернуться в «Статьи»