Например TDA7294

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



Текущее время: Ср ноя 22, 2017 16:00:17



Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 1462 ]  На страницу 1, 2, 3, 4, 5 ... 74  След.
Автор Сообщение
Не в сети
 Заголовок сообщения: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Ср фев 04, 2015 14:37:50 
Собутыльник Кота
Аватар пользователя

Карма: 64
Зарегистрирован: Чт апр 11, 2013 12:19:59
Сообщений: 2949
Откуда: Минск
Рейтинг сообщения: 10
Статья http://radiokot.ru/circuit/digital/home/206/

Тут на форуме есть уже как минимум три различные конструкции часов на светодиодных матрицах. Я предлагаю ещё одну, на MAX7219

Часы (бегущая строка) получаются достаточно простыми. На каждую матрицу нужна лишь одна микросхема драйвера + 1 резистор для задания тока через светодиоды. Управляется такая матрица по трёхпроводному интерфейсу, несколько драйверов можно последовательно каскадировать, при этом количество необходимых от МК линий не изменяется - всего три.

В схеме использованы МК ATmega8, часы DS1307, датчики DS18B20, в общем, за исключением MAX7219, всё знакомое и привычное.

Вот несколько фотографий того, что у меня получилось:



Возможности:
1. Собственно отображение и настройка времени.
2. Один будильник с возможностью задания дней недели для срабатывания.
3. Настройка яркости свечения часов для каждого часа времени суток (ночью можно послабее сделать, днём поярче).
4. Отображение температуры (в комнате и на улице) раз в минуту бегущей строкой.
5. Отображение текущей даты раз минуту бегущей строкой.

Кнопки:
1. Отключение звонка будильника, остановка бегущей строки, выбор настраиваемого параметра в меню настроек.
2. Показать дату бегущей строкой, увеличить значение настраиваемого параметра.
3. Показать температуру бегущей строкой, уменьшить значение настраиваемого параметра.
При длинном нажатии кнопки соответственно входят в режимы настройки времени/будильника/яркости.

Длинное одновременное нажатие всех кнопок разворачивает картинку на экране на 180 градусов (если часы вешать на стену, это может быть удобно для подвода провода уличного датчика температуры и кабеля питания с нужной стороны.

В качестве динамика для будильника используется активный buzzer, тоже купленный в Китае.

Собственно, часы делались уже довольно давно, просто сейчас решил выложить то что есть. Возможно, кого-то часы заинтересуют, тогда могу и в виде статьи оформить.

MAX7219 можно купить в Китае на Aliexpress, там даже готовые наборы уже сразу с матрицами есть.

Исходники прошивки под avr-gcc доступны на https://github.com/WiseLord/matrixclockGitHub, так что при желании бегущую строку можно сделать намного больше, чем 3 матрицы.

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

Если кого-то заинтересует - могу попозже оформить статью и продолжить развитие устройства. Только придётся, наверное, перейти на более "жирный" МК, т.к. в ATmega8 проект уже еле влезает (из-за шрифтов, в основном). Да и написан он был давно, и многие вещи можно оптимизировать.

Видео c работой часов:


Вложение:
matrixclock.7z [25.16 KiB]
Скачиваний: 3076



PS

Новые (на 16 июля 2015 года) возможности по сравнению со статьёй:

Собрать прошивку под свой набор железа можно командой
Код:
make LED_DRIVER=[драйвер] MCU=[микроконтроллер]
Возможные варианты драйверов и микроконтроллеров описаны ниже

- Поддержка сборки для Atmega8/168/328.

В качестве [микроконтроллер] указываем, соответственно, atmega8, atmega168 или atmega328.

- Поддержка варианта для четырёх матриц.

Этот вариант теперь основной. В качестве [драйвер] указываем MAX7219. Для варианта из трёх матриц - MAX7219_X3

- Поддержка повёрнутых на 90 градусов матриц.

Так уж вышло, что у готовых китайских плат в размер матрицы разводка такая, для удобства разводки их надо развернуть на 90 градусов относительно "правильного" положения, для которого делался проект. Поэтому, для [драйвер] появились аналогичные основным варианты MAX7219MOD и MAX7219MOD_X3

- Поддержка драйвера HT1632.

Соответственно, в качестве [драйвер] указываем HT1632. Разводка для этого варианта отличается от вариантов на MAX7219 и соответствует разводки продаваемой китайцами плате J-MCU 3208CLOCK PRO.

- Поддержка датчика температуры и атмосферного давления BMP180.

Датчик работает по шине I²C и подключается к ней параллельно часам реального времени DS1307.

- Поддержка датчика температуры и влажности DHT22.

Датчик подключается к порту PD3, плюс на этом же порту необходим подтягивающий к питанию резистор 4,7кОм.

- Поддержка фоторезистора в качестве датчика освещённости

Я использовал MJ3516, но должен подходить любой с сопротивлением в освещённом состоянии 5..10 кОм. Фоторезистор (и, желательно, 500кОм..1МОм резистор параллельно) подключается между ножкой ADC0 (вариант на MAX7219) (или ADC7 (вариант на HT1632)) и питанием, также между этой ножкой и землёй подключается резистор 10кОм. Таким образом, образуется резистивный делитель, с которого АЦП получает уровень освещённости. На вывод AREF, если он не подключен к питанию, нужно подключить конденсатор 0.1мкф на землю.

Резистор 10кОм на землю обязателен и в случае отсутствия фоторезистора. Он вытягивает вход АЦП в ноль, благодаря чему система определяет, что датчик отсутствует.

При отсутствии фоторезистора дневное распределение яркости при установленном в настройках значении 15 будет выглядеть так:

Изображение

Для меньшего настроенного значения график соответственно опускается ниже. При наличии фоторезистора уровень яркости, заданный в настройках, будет ограничением яркости сверху.

- Все текстовые строки перенесены в файл EEPROM

Это позволяет сделать перевод интерфейса на разные языки. В данный момент имеются белорусский, английский, украинский и русский варианты. Также это позволяет легко подправить текстовые метки под свои потребности.

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

Так что каждый может легко поменять её под свою удобную, разводку.

- Ежечасный сигнал
При этом период действия "кукушка" завязан на настройку будильника (неважно, включен ли он сам по себе). Скажем, если он выставлен в 8:20, то первая "кукушка" прозвучит в 9:00 и будет срабатывать вплоть до 23:00, отключаясь на ночь.

- Три различного размера шрифта для отображения времени

При этом два "широких" шрифта можно настроить в EEPROM. Шрифт шириной 5 точек находится в eeprom по смещению 0x180, шириной 6 точек - по смещению 0x1C0. Принципы формирования шрифтов:
Сменить шрифт можно одновременным длительным нажатием кнопок 2 и 3.

- Возможность отключения лидирующего нуля при отображении времени

Делается это одновременным длительным нажатием кнопок 1 и 2. Можно переключить режим (вроде 08:15 <=> 8:15).

Различная полезная информация:

Расположение матриц при разводке платы под MAX7219:
Изображение

Шпаргалка по кнопкам:

Для запрета вывода некоторых данных от датчиков BMP180 и DHT22 в eeprom по адресу 0x0F находится соответствующий байт конфигурации, куда hex-редактором записываем соответствующую маску.

Интервал между выводом бегущих строк можно настроить в EEPROM. Для этого есть ячейка в EEPROM по адресу 0x0D, в которую записывается необходимое значение в диапазоне от 0 до 255 секунд.

Прошивку от 16.07.2015 можно скачать из вложения в этом сообщении.


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Чт фев 05, 2015 17:34:41 
Нашел транзистор. Понюхал.

Карма: 4
Зарегистрирован: Вс янв 26, 2014 23:40:17
Сообщений: 190
Откуда: Рязань
Рейтинг сообщения: 0
а схема не Proteus есть ? А то не всегда удобно смотреть в Proteus.

PS: тоже похожие делаю в данный момент, но на RGB матрицах+ радио FM+ датчик температуры+ датчик влажности. Регистры использую STP16CP05 в TSSOP24

_________________
Последняя прошивка для часов на RGB матрицах на 10 странице в теме viewtopic.php?f=25&t=121718&start=140


Вернуться наверх
 Профиль WWW  
 
JLCPCB Prototype, $2 за 10 печатных плат (2 слоя, 100×100мм).

Крупнейший производитель печатных плат в Китае, 290,000+ заказчиков, 8,000+ он-лайн заказов в день.

Узнать цену прямо сейчас!

LCSC Parts: Экономия до 50%, большой выбор компонентов в наличии, отправка заказа в день оплаты.

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

Карма: 25
Зарегистрирован: Сб сен 10, 2011 18:46:25
Сообщений: 2691
Рейтинг сообщения: 0
Цитата:
Только придётся, наверное, перейти на более "жирный" МК, т.к. в ATmega8 проект уже еле влезает

Осмелюсь предложить перейти на мк из серии STM32F0, DS1307 можно выкинуть. На Mega16 с Радиокота у меня часы на матрицах уже есть, на STM32 нету :( .


Вернуться наверх
 Профиль  
 

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

Карма: 64
Зарегистрирован: Чт апр 11, 2013 12:19:59
Сообщений: 2949
Откуда: Минск
Рейтинг сообщения: 4
SergSV писал(а):
не всегда удобно смотреть в Proteus
Схемы нет, да и та что в Proteus, не совсем полная (не нарисовано питание и нет подтягивающих резисторов на I²C шине).

Печатки как таковой тоже нет, да и использовал я двухцветные матрицы (зелёный не используется, не распаян), так что разводка под них и мало кому подойдёт.
SergSV писал(а):
похожие делаю в данный момент, но на RGB матрицах
Что за матрицы, где покупали?

Вообще у меня лежат 2 десятка матриц (красные 32x32 мм²) и драйверов MAX7219. Планирую из них сделать большую "бегущую строку" 16x64 точек. Т.е. на плате с матрицами только 2 входа питания и 3..4 линии управления. А уже управляющая всем этим схема будет отдельной и реализовываться на чём угодно. Правда, этот будущий проект уже не совсем в эту тему.

oleg110592 писал(а):
DS1307 можно выкинуть
Что вместо неё? Или у STM32F0x есть свой блок RTC?


Вернуться наверх
 Профиль WWW  
 

Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Чт фев 05, 2015 20:40:59 
Нашел транзистор. Понюхал.

Карма: 4
Зарегистрирован: Вс янв 26, 2014 23:40:17
Сообщений: 190
Откуда: Рязань
Рейтинг сообщения: 0
WiseLord писал(а):
Что за матрицы, где покупали?

тут заказывал http://www.aliexpress.com/item/5pcs-Lot ... 64099.html.
маркировка на них 2388RGB-5. Единственное там ошибка в даташите, расстояние между рядами выводов 46,4мм, а не 45,72 как указано. Фото как выглядят 4 шт
Изображение

_________________
Последняя прошивка для часов на RGB матрицах на 10 странице в теме viewtopic.php?f=25&t=121718&start=140


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

Карма: 25
Зарегистрирован: Сб сен 10, 2011 18:46:25
Сообщений: 2691
Рейтинг сообщения: 0
Цитата:
STM32F0x есть свой блок RTC?

Да, и есть отдельная ножка для батарейки. http://mcucpu.ru/index.php/platformy-32 ... -stm32f2xx


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

Зарегистрирован: Пн окт 31, 2011 13:35:59
Сообщений: 240
Откуда: Родился в Сибири
Рейтинг сообщения: 0
Добрый день.

Желательно бы статью, в форуме я случайно наткнулся.

Давно хочу собрать подобное.

Успехов.


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

Зарегистрирован: Ср апр 16, 2014 08:13:00
Сообщений: 47
Рейтинг сообщения: 0
Здравствуйте! Хотелось бы так же увидеть статью. У меня есть мартрицы с драйверами max7219 собранные на отдельных платах хотелось бы их использовать. Работа с поиском не принесла успеха. Спасибо


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

Карма: 64
Зарегистрирован: Чт апр 11, 2013 12:19:59
Сообщений: 2949
Откуда: Минск
Рейтинг сообщения: 3
Возможно, статью бы я и написал. Только вот сложность в том, что у меня нет разводки печатных плат.

Точнее, есть разводка. Одна плата - под три max7219 + три матрицы, вторая - под микроконтроллер с часами. Ну и третья - собственно, кнопки.

Но эти платы настолько завязаны под конкретный корпус и под не совсем стандартные матрицы (двуцхветные, использован только красный цвет), что я не уверен, что кому-то они пригодятся.

А без печатных плат статья как-то не сильно имеет смысл. Потому что очень легко перепутать выводы матриц и получить мешанину. Хотя я могу и ошибаться.

В любом случае, выкладываю свои печатки. По схеме - ориентироваться на проект Proteus, добавив только подтягивающие резисторы 10кОм на SCL/SDA и, по желанию, на кнопки. Кварц ставить не нужно (на плате место под него есть), фьюзы от 8МГц внутреннего генератора.


Вложения:
led-matrix layouts.7z [37.97 KiB]
Скачиваний: 949
Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пн фев 16, 2015 10:26:32 
Открыл глаза

Зарегистрирован: Ср апр 16, 2014 08:13:00
Сообщений: 47
Рейтинг сообщения: 0
[quote="WiseLord"]Возможно, статью бы я и написал. Только вот сложность в том, что у меня нет разводки печатных плат.

Точнее, есть разводка. Одна плата - под три max7219 + три матрицы, вторая - под микроконтроллер с часами. Ну и третья - собственно, кнопки.
Wiselord спасибо за печатки. Это то что нужно мне. У меня готовые наборы в наличии. Единственная просьба - дать схему картинкой а то у меня с протеусом никак не получается


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

Карма: 64
Зарегистрирован: Чт апр 11, 2013 12:19:59
Сообщений: 2949
Откуда: Минск
Рейтинг сообщения: 3
ОК, держите

Изображение

Во вложении последний вариант прошивки и полная схема - работающая в протеусе и отдельно картинкой же.

P.S. Набросал-таки статью. Будем ждать одобрения и появления на главной странице сайта.


Вложения:
matrixclock.7z [61.38 KiB]
Скачиваний: 1364


Последний раз редактировалось WiseLord Пн фев 16, 2015 12:44:12, всего редактировалось 1 раз.
Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пн фев 16, 2015 11:55:04 
Открыл глаза

Зарегистрирован: Ср апр 16, 2014 08:13:00
Сообщений: 47
Рейтинг сообщения: 0
Спасибо!!! Сбылась мечта!!!


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

Зарегистрирован: Пн окт 31, 2011 13:35:59
Сообщений: 240
Откуда: Родился в Сибири
Рейтинг сообщения: 0
Спасибо WiseLord!!!

Начну собирать детали.


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

Карма: 64
Зарегистрирован: Чт апр 11, 2013 12:19:59
Сообщений: 2949
Откуда: Минск
Рейтинг сообщения: 0
Если говорить объективно, то те же простые часы, или, тем более, Super Clock, гораздо более функциональны.

Мой вариант - это просто своего рода более-менее удачная попытка потестировать самописную библиотеку для MAX7219.

Ну и по сложности схема получилась с меньшим, чем в других схемах, количеством деталей и занятых линий МК. Плюс на основе этой схемы легко сделать длинную бегущую строку, практически не усложняя конструкцию, а просто добавляя в цепочку новые драйверы+матрицы, без увеличения числа требуемых от МК линий управления.


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

Зарегистрирован: Пн окт 31, 2011 13:35:59
Сообщений: 240
Откуда: Родился в Сибири
Рейтинг сообщения: 0
WiseLord, я не специалист по МК, но наверное возможно следующее:

Если применить dip корпус можно применить линейку МК Atmega48-328.

Функционал измениться от минимального до максимально возможного.

Мне интересно барометрическое давление.

Уличный термометр хорошо бы сделать радиоканалом,
Сверлить пластиковые окна - жена не поймёт.

Ну это всё мысли вслух.

Успехов.


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

Карма: 4
Зарегистрирован: Пт мар 26, 2010 18:16:52
Сообщений: 606
Откуда: Kazan
Рейтинг сообщения: 0
Цитата:
Если применить dip корпус можно применить линейку МК Atmega48-328.

Функционал измениться от минимального до максимально возможного.

Причем тут дип корпус и функционал?


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

Карма: 64
Зарегистрирован: Чт апр 11, 2013 12:19:59
Сообщений: 2949
Откуда: Минск
Рейтинг сообщения: 0
Видимо, имелось в виду, что эта линейка в DIP-корпусе имеет ту же цоколёвку, что и использованная в проекте ATmega8. Поэтому в случае DIP-корпуса можно легко сделать апгрейд платы, просто поставив в колодку МК пожирнее, и залив соответствующую прошивку.

Хотя и для QFP-корпуса особой проблемы нет - сдуть феном ATmega8 и поставить вместо неё ту же ATmega328. Цоколёвка тоже совпадает.


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

Карма: 13
Зарегистрирован: Чт ноя 30, 2006 13:27:46
Сообщений: 2046
Откуда: Челябинск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
как располагать матрицы на печатной плате, на выводах 13,3,4,10,6,11,15,16 которой аноды

первый вывод -
с права вверху
справа снизу
слева снизу
слева сверху
как бы вращаем матрицу на 90 град


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

Карма: 64
Зарегистрирован: Чт апр 11, 2013 12:19:59
Сообщений: 2949
Откуда: Минск
Рейтинг сообщения: 0
Вот разводка для схемы со стороны матриц (15888)

Изображение

Очень надеюсь, что я нигде не ошибся. В железе не проверял.

В скобках - номера выводов MAX7219.


Вложения:
matrix.lay6.7z [24.5 KiB]
Скачиваний: 773
Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пт мар 06, 2015 12:34:00 
Мявтор!
Аватар пользователя

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


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 1462 ]  На страницу 1, 2, 3, 4, 5 ... 74  След.



Часовой пояс: UTC + 3 часа [ Летнее время ]


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

Сейчас этот форум просматривают: antibiotik, BV-Dial, EAV_04, Gaff, ma5a97, malex66, mixa232323 и гости: 20


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

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


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