Например TDA7294

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



Текущее время: Сб янв 16, 2021 23:17:09

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


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



Начать новую тему Ответить на тему  [ Сообщений: 1797 ]    , 2, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пт мар 06, 2015 11:54:18 
Друг Кота
Аватар пользователя

Карма: 83
Рейтинг сообщений: 933
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4565
Откуда: Минск
Рейтинг сообщения: 0
Но никаких гарантий. У меня работали матрицы типа 19881BEG, а там разводка другая.

Я просто свою рабочую схему по даташитам на матрицы перенёс на 15881, ну и для A-варианта повернул. И очень надеюсь, что ошибок не допустил.

Во вложении то, что у меня точно работает, можете, на всякий случай, сравнить с рисунком выше по описаниям 15881 и 19881


Вложения:
matrixclock_max7219.lay6.7z [12.58 KiB]
Скачиваний: 617
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Ср мар 11, 2015 12:05:15 
Первый раз сказал Мяу!

Зарегистрирован: Чт авг 29, 2013 10:16:34
Сообщений: 37
Откуда: Иркутск
Рейтинг сообщения: 0
Изображение
Вчера по быстрому собрал схему на макетке, всё сразу заработало! Большое спасибо автору за библиотеку для MAX7219 с возможностями скроллига! Применил готовые модули 8*8 матрица+MAX7219 и часовой модуль DS3231. Правда модули матриц пришлось развернуть на 90 град. относительно их штатного соединения перемычками. Осталось не понятным назначение свечение точек на крайнем правом столбце. Вопрос к автору: если я правильно понял то прошивка писалась на WinAVR и можно ли использовать библиотеку для MAX7219 в CodeVisionAVR? Просто в основном пользуюсь им. И ещё, на сколько сложно переделать прошивку под другой контролёр, например MEGA16 или MEGA32 и будете ли Вы развивать дальше этот проект? В плане развития хотелось бы, всё таки добавить ещё одну матрицу, что позволит сделать по шире шрифт или добавить показания секунд более мелким шрифтом, а также повыситься читаемость сообщений. Так же расширить возможности в настойках - изменение интервала времени прокрутки бегущей строки, её скорость, коррекции времени, звуковой индикации каждого часа. К показаниям температуры, мне кажется, надо добавить знаки + и -. Вообще в плане развития у Вас очень многообещающий проект. Ведь в отличии от других названных выше Вами проектов матричных часов у Вашего очень много свободных ног у контролёра, на которые можно навешивать какие угодно датчики ( хотелось бы давления и влажности).


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

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

Карма: 83
Рейтинг сообщений: 933
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4565
Откуда: Минск
Рейтинг сообщения: 0
Maxtor62 писал(а):
Осталось не понятным назначение свечение точек на крайнем правом столбце
Секунды в двоичном коде. На экране будильника - дни, на которые будильник установлен.
Maxtor62 писал(а):
если я правильно понял то прошивка писалась на WinAVR
Прошивка писалась под avr-gcc в Linux. Да, в Windows этот компилятор входит в комплект WinAVR. Насчёт Codevision ничего не скажу, проекты в нём видел, но сам никогда в нём (и других Windows-IDE) под AVR код не писал.

Насчёт развития проекта не уверен. Ресурсы ATmega8 практически полностью исчерпаны (те же шрифты много занимают), поэтому тут нужно либо конкретно код оптимизировать, либо переходить на МК пожирнее (ту же ATmega168/328, если не менять разводку, ну или ATmega16/32, с уже новой схемой). Так что, если что-то и поменяется, то это, вероятнее всего, будет уже другой проект. Этот же проект у меня, по большому счёту, побочный продукт от написания библиотеки под MAX7219.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Шестое юбилейное мероприятие в процессе
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Чт мар 12, 2015 18:13:05 
Родился

Зарегистрирован: Вт дек 09, 2008 22:36:10
Сообщений: 16
Откуда: Санкт -Петербург
Рейтинг сообщения: 0
Вопрос к Maxtor62

Что надо менять в прошивке для DS3231 и если надо менять, то не могли бы выложить файлы прошивки.

С уважением.


Вернуться наверх
 
Вебинар «Параметры выше, цена ниже. Обновление в линейке AC/DC- и DC/DC-преобразователей MORNSUN» (26.01.2021)

Приглашаем 26 января на бесплатный вебинар, посвящённый преимуществам и отличиям новых источников питания и DC/DC-преобразователей Mornsun. На вебинаре будут рассмотрены изолированные и неизолированные DC/DC-преобразователи последнего, четвертого, поколения (R4) и компактные модульные источники питания второго и третьего поколений (семейства LS/R3 и LD/R2) на плату. Рассмотрим новую группу продукции – встраиваемые источники питания в кожухе.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пт мар 13, 2015 11:07:39 
Первый раз сказал Мяу!

Зарегистрирован: Чт авг 29, 2013 10:16:34
Сообщений: 37
Откуда: Иркутск
Рейтинг сообщения: 0
Для "Муся". DS1307 и DS3231 по основным своим адресам регистров и командам идентичны. Поэтому в прошивке я ничего не менял и прошивал ту что выложил автор.
Кстати хотелось бы кое что в ней для себя поменять. Но, установив у себя WinAVR не получается откомпелировть проект. Если использовать Makefile автора то выдаётся ошибка: cc1.exe: error: no iconv implementation, cannot convert from UTF-8 to ks0066-ru. Если создаю свой Makefile, с соответствующим указанием в нём всех составляющих проекта, то получаю: undefined reference to "ds18*20SearhDevices" и дальше по каждой ссылке на процедуры из библиотек проекта, не смотря на то что они указаны в Makefile. Уважаемый автор, может что подскажите по данной проблеме? Может у Вас всё же есть возможность где то прогнать проект в WinAVR?


Вернуться наверх
 
EiceDRIVER: Как построить надежный и компактный силовой преобразователь?

С целью поддержки своих карбид-кремниевых MOSFET из линейки CoolSiC, обеспечивающих наиболее высокую в отрасли производительность, компания Infineon предлагает шесть моделей специализированных ИС драйверов затвора из линейки EiceDRIVER, основанных на одном выходном каскаде драйвера Rail-to-Rail.

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

Карма: 83
Рейтинг сообщений: 933
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4565
Откуда: Минск
Рейтинг сообщения: 0
Для компиляции в windows в консоли (cmd) заходите в каталог с проектом и даёте команду make. При установленном WinAVR она уже должна быть доступна (прописана в PATH).

Сейчас проверю в VirtualBox, собирается ли проект под Windows.

P.S.

Да, действительно, проект не собирается в Windows. Это из-за того, что в windows нет iconv (error: no iconv implementation, cannot convert from UTF-8 to ks0066-ru), который позволяет текстовые строки в программе (они в коде написаны прямо по-русски, в кодировке UTF-8) перевести в кодировку KS0066-RU (используется в знакосинтезирующих дисплеях, и, для совместимости с другими моими проектами, здесь).

Чтобы собрать в Windows этот проект нужно:
1. В Makefile закомментировать строчку CS = -fexec-charset=ks0066-ru, отключив тем самым конвертацию.
2. В исходниках в файле display.c все текстовые константы (типа "Воскресенье", "·C в комнате" и прочие) перевести в кодировку KS0066-RU. Для простоты - можно просто по-английски временно всё переписать, а потом уже использовать эту кодировку.
3. Использовать avr-gcc посвежее, как минимум, версии 4.8, например, avr-gcc-4.8_2013-03-06_mingw32.zip, так как тот, что в WinAVR отсюда, например, слишком старый и генерирует код, который не влезает в процессор. Внести соответствующие правки в Makefile.

Если не выполнить 2 пункт, кириллические строки будут отображаться "крякозябрами".

Во вложении исправленные Makefile/display.c и используемая в шрифтах кодировка. По крайней мере, у меня в WindowsXP в VirtualBox сейчас получилось собрать (с англоязычными текстовыми метками).

На выходных я постараюсь перенести текстовые метки из кода в EEPROM, тогда, думаю, проблема сборки под Windows уйдёт сама собой. Понадобится только WinAVR и >=avr-gcc-4.8. Дополнительный бонус - текстовые метки можно будет поменять прямо в eeprom, без перекомпиляции.

P.P.S.

Пару слов о том, как всё-таки оставить при этом русскоязычные надписи. Возьмём, например, текстовую метку.
Код:
const char wd0[] PROGMEM = "Воскресенье";
У кодировки ks0066-ru особенность в том, что кириллические символы там присутствуют только те, аналогов которым нет в латинской части кодовой таблицы. Скажем, русские "В", "о", "с" заменяются латинскими "B", "o", "c", а вот для буквы "к" аналога уже нет, и придётся использовать её по коду из таблицы, 0xBA (см. также файл font-ks0066-ru-08.c).
Таким образом, без перекодировки с помощью iconv придётся текстовую метку переписать следующим образом:
Код:
const char wd0[] PROGMEM = "Boc""\xBA""pece""\xBD""\xC4""e";

Здесь буквы "к", "н", "ь", не имеющие аналогов в латинской части кодовой таблицы, заменены своими hex-кодами. Аналогично переписываются и другие строковые константы.


Вложения:
matrixclock-compile-in-windows.7z [346.4 KiB]
Скачиваний: 738
Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пт мар 13, 2015 19:47:09 
Первый раз сказал Мяу!

Зарегистрирован: Чт авг 29, 2013 10:16:34
Сообщений: 37
Откуда: Иркутск
Рейтинг сообщения: 0
WiseLord большое Вам спасибо за быстрый и качественный ответ. С вашими подсказками всё получилось!


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Вс апр 12, 2015 23:07:04 
Встал на лапы
Аватар пользователя

Карма: 2
Рейтинг сообщений: 14
Зарегистрирован: Ср июн 04, 2008 00:22:30
Сообщений: 125
Откуда: Украина, Ковель
Рейтинг сообщения: 0
WiseLord, что-то у меня размер файла-hex после компиляции слишком большой - не влазит в 8kb. Хотел на украинский перевести...
Компилировал в linux (gcc version 4.7.2 (GCC))


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

Карма: 83
Рейтинг сообщений: 933
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4565
Откуда: Минск
Рейтинг сообщения: 0
gcc 4.7.2 генерирует больший по размеру код, нежели 4.8.x. Попробуйте сменить компилятор.

Ещё можете попробовать добавить в опции компилятора:
CFLAGS (в моём Makefile можно в OPTIMIZE): -ffunction-sections -fdata-sections
LDFLAGS: -Wl,-gc-sections

Это позволит вырезать из кода неиспользуемые функции/переменные. У меня экономится около 90 байт.


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

Карма: 2
Рейтинг сообщений: 14
Зарегистрирован: Ср июн 04, 2008 00:22:30
Сообщений: 125
Откуда: Украина, Ковель
Рейтинг сообщения: 0
Спасибо, все получилось!
Использовал указанные Вами опции + добавил еще -mrelax -flto. В результате на компиляторе 4.7 код получился меньше исходного на 327 байт. :))


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

Карма: 83
Рейтинг сообщений: 933
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4565
Откуда: Минск
Рейтинг сообщения: 0
У меня на 4.8 эти опции ничего не меняют. Возможно, они включены в этой версии по умолчанию, в отличие от 4.7, за счёт чего 4.8 выдаёт при прочих равных код меньшего размера.


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

Карма: 2
Рейтинг сообщений: 14
Зарегистрирован: Ср июн 04, 2008 00:22:30
Сообщений: 125
Откуда: Украина, Ковель
Рейтинг сообщения: 0
Возможно...
Относительно Вашего вышло меньше всего на 9 байт. Это наверное из-за более коротких названий на украинском.
Если кому интересно прошивка в приатаченом файле.
Вложение:
Комментарий к файлу: Прошивка с украинскими названиями
matrixclock-ua.7z [7.87 KiB]
Скачиваний: 353


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

Зарегистрирован: Вс янв 11, 2015 11:08:49
Сообщений: 27
Рейтинг сообщения: 0
Всем привет, а подскажите плс как скомпилировать прошивку под ATMEGA328? Или может кто нибудь может это сделать?.


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

Карма: 83
Рейтинг сообщений: 933
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4565
Откуда: Минск
Рейтинг сообщения: 0
Нужен небольшой патч на исходники, в связи с другими именами регистров таймеров:


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

Зарегистрирован: Вс янв 11, 2015 11:08:49
Сообщений: 27
Рейтинг сообщения: 0
СПАСИБО огромное, сейчас буду пробовать...ну никак не могу научится компилировать исходник под виндовс...


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

Зарегистрирован: Вс янв 11, 2015 11:08:49
Сообщений: 27
Рейтинг сообщения: 0
Все заработало спасибо еще раз.


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

Зарегистрирован: Вс янв 11, 2015 11:08:49
Сообщений: 27
Рейтинг сообщения: 0
Если перепутать 11 и 12 ногу МК то получаются тикающие часы (дип корпус) ))))))))


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

Карма: 2
Рейтинг сообщений: 14
Зарегистрирован: Ср июн 04, 2008 00:22:30
Сообщений: 125
Откуда: Украина, Ковель
Рейтинг сообщения: 0
Изображение
В процессе...
Осталось сделать корпус.
WiseLord, спасибо за конструкцию! :beer:


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

Зарегистрирован: Чт авг 29, 2013 10:16:34
Сообщений: 37
Откуда: Иркутск
Рейтинг сообщения: 0
Уважаемый WiseLord, подскажите пожалуйста, что надо исправить в коде при добавлении ещё одной матрицы кроме "#define MAX7219_ICNUMBER с 3 на 4"? Если исправить только здесь то пропадают первые две цифры в режиме часов и бегущая строка идёт только по первым трём матрицам? Если я правильно понимаю то размер экранного буфера определяется в static uint8_t scrBuf[MAX7219_ICNUMBER * 8], а что определяет эта строка "static uint8_t strBuf[512];"? Хочу попробовать сделать вывод секунд на четвёртой матрице. Опять же, если я правильно понимаю, то для этого можно использовать функцию "void showMainScreen(void)" из display.c? Хватит ли для этого памяти в ATMEGA8?


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

Карма: 83
Рейтинг сообщений: 933
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4565
Откуда: Минск
Рейтинг сообщения: 0
При выводе строки она сначала выводится в массив str[512]. Потом этот массив просто скроллится по окну буфера scrBuf[24].

Согласен, не самое удачное решение (много ОЗУ требует), у меня есть уже наработки без этого, но пока часов, собранных в железе, нет, особо не потестирую.

Посмотрите константы (смените 23 на 31) ещё здесь. Может, что-то улучшится.

P.S. Посидел 20 минут с Proteus: вот необходимые изменения для поддержки четырёх матриц, проект Proteus и hex во вложении. Секунды отрисовывайте уже сами.


Последний раз редактировалось WiseLord Ср апр 29, 2015 18:43:31, всего редактировалось 1 раз.

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

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


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

Сейчас этот форум просматривают: Google [Bot] и гости: 34


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

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


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