Например TDA7294

Форум РадиоКот • Просмотр темы - Часы на светодиодных матрицах с драйверами MAX7219
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пт авг 22, 2025 21:36:15

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 1849 ]     ... , , , 34, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пн сен 14, 2015 00:40:48 
Потрогал лапой паяльник

Карма: -4
Рейтинг сообщений: -18
Зарегистрирован: Сб окт 20, 2007 14:12:03
Сообщений: 319
Рейтинг сообщения: 0
Ога, получен, но в протеусе не работает. Попробую в железе.
BMP180 я так понимаю на SDA и SCL вешается?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пн сен 14, 2015 00:56:11 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4884
Откуда: Минск
Рейтинг сообщения: 0
Ну да, он же I²C-шный.

По поводу того, что в Proteus не работает - это странно, должно бы (я выкладывал рабочий проект).

Кстати, компилятор вполне может выдать код большего размера, чем 8кБ. Поэтому всё же попробуйте avr-gcc 4.8 использовать, код от него точно "влезает".


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пн сен 14, 2015 02:17:29 
Потрогал лапой паяльник

Карма: -4
Рейтинг сообщений: -18
Зарегистрирован: Сб окт 20, 2007 14:12:03
Сообщений: 319
Рейтинг сообщения: 0
Я и так его использую.
Тип драйвера и все прочие настройки в Makefile прописываются?
Я никогда не кодил для GCC, поэтому и туплю.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пн сен 14, 2015 02:33:05 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4884
Откуда: Минск
Рейтинг сообщения: 0
Да, либо в Makefile указать драйвер/процессор, либо передать make как параметр командной строки.

Смотрите мой скрипт build_all.sh для массовой сборки всех прошивок.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пн сен 14, 2015 15:16:09 
Мявтор!
Аватар пользователя

Карма: 16
Рейтинг сообщений: 43
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Сообщений: 2057
Откуда: Челябинск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
иследуя процедуру
Код:
void max7219SendDataBuf(uint8_t *buf, uint8_t rotate)

свою проблемму решил еще проще, буквально изменением 3 строк
WiseLord спасибо за такой код, есть чему поучиться
с помощью этой функции можно воротить матрицами как хочешь
даже для удобства разводки можно подключать произвольно матрицу к 7219, правда это требует дополнительного кода

для понимания, обьясните как идет сканирование и отображение матрицы, вопрос возник анализируя картинку с 1 стр расположения матриц с ОА и ОК и схеме
на схеме написано аноды строки - снизу вверх, катоды - слева направо
у меня не совсем сходиться расположение матриц, просто хочу по новой развести правильно большие матрицы 60х60 с 13,3,4,10,6,11,15,16 - катоды (FYM-23881BUHR)
Спасибо


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пн сен 14, 2015 15:58:11 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4884
Откуда: Минск
Рейтинг сообщения: 0
Сканированием занимается сама MAX7219. Ей просто нужно передать номер столбца и данные для него. И так восемь раз, для каждого из столбцов.
По сути, вся функция max7219SendDataBuf() сводится к коду:
Код:
for (j = 0; j < MAX7219_NUM_USED; j++) {
    max7219SendByte(MAX7219_DIGIT_0 + i);
}
А дальше уже частные случаи. Например, при rotate номера столбцов должны идти в обратном порядке:
Код:
max7219SendByte(MAX7219_DIGIT_7 - i)

При необходимости поворота на 90 градусов нужны уже разные битовые сдвиги (собрать N-ный бит каждого из 8 столбцов, и сформировать из них байт данных data, который уже и послать в драйвер, и так 8 раз для каждого N-ного бита)

Для четырёх матриц данные посылаются следующим образом, если упростить:
Код:
for (i = 0; i < 8; i++) { // биты
  PORT(MAX7219_LOAD) &= ~MAX7219_LOAD_LINE;
  for (j = 0; j < MAX7219_NUM_USED; j++) { // номер матрицы
    max7219SendByte(MAX7219_DIGIT_0 + i)
  }
  PORT(MAX7219_LOAD) |= MAX7219_LOAD_LINE;
}

Получается, мы посылаем 4 байта (первый столбец каждой из 4 матриц), записываем в матрицы, потом ещё 4 (второй столбец) и так 8 раз

Спойлер
Код:
Заполняем 0 столбец:
Линия LOAD = 0
                           0        1 байт
                  0                 2 байт
         0                          3 байт
0                                   4 байт
Линия LOAD = 1
0        0        0        0        бит 0 в 4-х матрицах

Заполняем 1 столбец:
Линия LOAD = 0
                            1       1 байт
                   1                2 байт
          1                         3 байт
 1                                  4 байт
Линия LOAD = 1
01       01       01       01       бит 1 в 4-х матрицах

Заполняем 2 столбец:
012      012      012      012     
Заполняем 3 столбец:
0123     0123     0123     0123   
Заполняем 4 столбец:
01234    01234    01234    01234   
Заполняем 5 столбец:
012345   012345   012345   012345 
Заполняем 6 столбец:
0123456  0123456  0123456  01234567
Заполняем 7 столбец:
01234567 01234567 01234567 01234567


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пн сен 14, 2015 16:04:43 
Мявтор!
Аватар пользователя

Карма: 16
Рейтинг сообщений: 43
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Сообщений: 2057
Откуда: Челябинск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
получается сканирование идет по столбцам слева направо
по каждой матрице с 1 столбца 1 2 3 4 матрицы потом 2 столбец 1 2 3 4 матрицы и т.д.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пн сен 14, 2015 16:11:09 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4884
Откуда: Минск
Рейтинг сообщения: 0
В случае отсутствия поворота - да.
Данные пишутся в драйвер 0, дальше передаются по цепочке в драйвер 1, драйвер 2, драйвер 3.
Поэтому сначала нужно передать данные для 3 матрицы, потом для 2-й, потом для 1-й и потом уже для 0-й:
Код:
матрица               0 1 2 3

данные для 3 матрицы: 3
данные для 2 матрицы: 2 3
данные для 1 матрицы: 1 2 3
данные для 0 матрицы: 0 1 3 3
сохранили (LOAD)
И так 8 раз для каждого из 8 столбцов.

Собственно сканированием (развёрткой) занимается сама MAX7219. Главное, если смотреть на матрицу с лицевой стороны светодиодов чтобы DIG_0 выход был подключен к левому столбцу (катоду), DIG_7 к правому. А выходы анодов (A-DP) шли сверху вниз. Как на схеме.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пн сен 14, 2015 16:16:15 
Мявтор!
Аватар пользователя

Карма: 16
Рейтинг сообщений: 43
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Сообщений: 2057
Откуда: Челябинск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
спасибо, я все понял
при перевороте передаем с 3 по 0 матрицу т.е. в противоположном порядке
а с формированием байта я разобрался


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пн сен 14, 2015 16:22:46 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4884
Откуда: Минск
Рейтинг сообщения: 0
Нет, при перевороте как раз-таки передаём с 0 по 3 матрицу, а без переворота - с 3 по 0. Потому что байт, переданный первым, после передачи всех четырёх, как раз-таки окажется "напротив" последней матрицы, и по команде LOAD загрузится именно в неё.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пн сен 14, 2015 16:28:00 
Мявтор!
Аватар пользователя

Карма: 16
Рейтинг сообщений: 43
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Сообщений: 2057
Откуда: Челябинск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
ну правильно я это и имел ввиду 1 первый посланный бай при 4 кратной посылке применится к последней матрице
то есть
1 байт - 4 матрица
2 байт - 3 матрица
3 байт - 2 матрица
4 байт - 1 матрица
при перевороте наоборот
спасибо все понятно


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Вт сен 15, 2015 09:25:19 
Открыл глаза

Карма: 2
Рейтинг сообщений: 2
Зарегистрирован: Ср апр 16, 2014 07:13:00
Сообщений: 58
Рейтинг сообщения: 0
WiseLord здравствуйте! Что то у меня не получается отключить ежечасный сигнал. В редакторе снимаю галочку но после загрузки точка сигнала горит и соответственно звучит сигнал. Отключаю сигнал 1 и 3 кнопкой точка гаснет но сигнал все равно звучит. Помогите пожалуйста. Спасибо


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Вт сен 15, 2015 13:24:33 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4884
Откуда: Минск
Рейтинг сообщения: 0
Ваша правда.

Увлёкся редактором, ячейку в eeprom задействовал, переменную соответствующую завёл, а вот обработать её как-то и забыл.

Исправлено. Проверяйте.


Вложения:
matrixclock-31e9521.7z [24.2 KiB]
Скачиваний: 1098
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Вт сен 15, 2015 14:28:39 
Открыл глаза

Карма: 2
Рейтинг сообщений: 2
Зарегистрирован: Ср апр 16, 2014 07:13:00
Сообщений: 58
Рейтинг сообщения: 0
Спасибо большое! Все работает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Вт сен 15, 2015 15:03:12 
Открыл глаза

Карма: 2
Рейтинг сообщений: 2
Зарегистрирован: Ср апр 16, 2014 07:13:00
Сообщений: 58
Рейтинг сообщения: 0
Вот решил показать свои часы
Вложение:
IMG_0139 (1).JPG [78.34 KiB]
Скачиваний: 1498


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Вт сен 15, 2015 15:05:46 
Мявтор!
Аватар пользователя

Карма: 16
Рейтинг сообщений: 43
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Сообщений: 2057
Откуда: Челябинск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
здорово! как, из чего делали? видно что очень все оккуратно


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Вт сен 15, 2015 15:12:24 
Открыл глаза

Карма: 2
Рейтинг сообщений: 2
Зарегистрирован: Ср апр 16, 2014 07:13:00
Сообщений: 58
Рейтинг сообщения: 0
корпус оргстекло 3мм закатанное черной самоклейкой
передняя панель из красного акрила у которого одна сторона глянцевая (наружняя) внутренняя матовая. это стекло позволяет видеть только горящие светодиоды а самих матриц не видно
на фото смотрится по другому не так симпатично


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Вт сен 15, 2015 15:43:56 
Мявтор!
Аватар пользователя

Карма: 16
Рейтинг сообщений: 43
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Сообщений: 2057
Откуда: Челябинск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
понятно!
как резали, чем клеили, уж очень ровные края, тоже так хочу научится - может есть какие тонкости


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Вт сен 15, 2015 15:57:01 
Открыл глаза

Карма: 2
Рейтинг сообщений: 2
Зарегистрирован: Ср апр 16, 2014 07:13:00
Сообщений: 58
Рейтинг сообщения: 0
Резал лазером с минимальным количеством воздуха это дает ровный чистый рез а клеил клеем космофен
можно дихлоэтаном
Можно вместо лазера использовать фрезер еще лучше торец получается ровный и под прямым углом к поверхности.Лазер чуть подкашивает торец особенно на толстых материалах


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Вт сен 15, 2015 15:58:11 
Мявтор!
Аватар пользователя

Карма: 16
Рейтинг сообщений: 43
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Сообщений: 2057
Откуда: Челябинск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
спасибо, я так и думал что лазер


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 1849 ]     ... , , , 34, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: eduard74291 и гости: 35


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y