Андрей Смирнов
Время чтения: ~7 мин.
Просмотров: 43

WIFI часы на светодиодной матрице с бегущей строкой погоды

1pcs-MAX7219-dot-matrix-module-microcontroller-module-DIY-KIT-.jpg

  • Цена: $1.62

Была идея собрать часы на 8×8 led матрицах, чтоб температурувлажность показывали. Вот что получается. Решил написать обзор, правда постфактум, так что процесса сборки нет. Модуль матрицы — MAX7219 dot matrix -3 шт. Arduino как мозг Pro Mini atmega328 Датчик температуры и влажности DHT22/AM2302 Модуль RTC DS3231, кстати в нем есть термодатчик и температуру можно с него брать Все компоненты годные, лично я качеством доволен. На просторах интернета наткнулся на страничку, она стала отправной точкой, скетч для ардуины в последствии сильно переработан под свои желания (убраны ненужные режимы часов, используется 3 сместо 4 матриц, шрифт переделан и теперь высота символов 8 точек, а не 7, добавлены метео возможности) Оставлена сама идея и реализация перелистывания символов. Соединение матриц7edc78.jpg Процесс отладкиa6bbb7.jpg Собрано на макетке Примеры отображения (на матрицы наклеена тонировка)

На этапе отладки Еще одно видео (обзор возможностей часов) Файлы для загрузкибиблиотеки и сам скетч (добавлен скетч с отображением информации по центру) Схема для сборки (нарисовал как смог) Так выглядит готовый вариант (из того что под руку попалось)
Дополнение Чтобы залить скетч вам может понадобится: Arduino SDK (среда разработки) тут USB-UART-конвертер что-то типа такого (проверял, работает отлично) схема подключения Если у вас нет UART конвертера, но есть Arduino UNO (как в моем случае до получения конвертера), тогда скетч на «Pro Mini» можно залить через UNO. Для этого: 1. Из UNO аккуратно вынимаем ATmega328 (желательно запомнить как она была расположена) 2. Подключаем «Pro Mini»(слева) к UNO(справа) следующим образом GND—>GND VCC—>3.3v Rx—>Rx Tx—>Tx GRN—>Reset 3. В «Arduino SDK» выбираем «Сервис->Плата->Arduino Pro Mini» 4. Заливаем скетч. Возможно есть еще способы.

Здесь нет модуля точного времени, нет даже кнопок для настроек, просто nodeMCU и экран, т.е. светодиодная матрица, тем не менее это устройство пoказывает время и очень точно.

В этом варианте часов получаем время из интернета с сайта google, а так-же погоду в формате JSON, которая отображается бегущей строкой. Используем подключение по WIFI. Матричный модуль 32×8 MAX7219 подключен к NodeMCU (ESP826) по интерфейсу SPI.

Подключаем питание и какое-то время ничего не происходит, а это потому что наш NodeMCU соединяется по интернету с сервисами google и сервисами погоды. После того как время получено с сайта google в течении 15 секунд показывает точное время, далее пробегает бегущая строка. Помимо погоды, бегущей строкой можно отобразить любой текст русскими буквами, какую-нибудь поздравлялку, например.

Для отображения русских букв, библиотека Adafruit-GFX слегка модифицирована, она находится в архиве вместе со скетчем и другими необходимыми библиотеками. Качаем тут: https://yadi.sk/d/8H52USAeyg3Ux

И наконец видео по статье:

272

Добавить ссылку на обсуждение статьи на форумеРадиоКот >Схемы >Цифровые устройства >Бытовая техника >
ЧасыMAX7219Добавить тег

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

Автор: WiseLord, wiselord1983@gmail.com Опубликовано 05.03.2015 Создано при помощи КотоРед.

Тут на форуме есть уже как минимум три различные конструкции часов на светодиодных матрицах.

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

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

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

Видео работы:

Так что, если эти очередные часы кого-то заинтересовали, читаем статью дальше.

Принципиальная схема часов:

05.png

Как видим, ничего сложного. Управляется вся система микроконтроллером по трём проводам, матрицы включены цепочкой. Так что никаких проблем с увеличением, при желании,  длины бегущей строки нет.

Исходники проекта доступны на GitHub-е. Честно говоря, делался проект достаточно давно, и код я писал тогда чуть хуже, поэтому там большой простор для оптимизации. Хотя самое вкусное — библиотека для max7219 — в принципе, доделывалась и оптимирировалась недавно, так что там всё более-менее в порядке.

На текущий момент все 8кБ flash-памяти у ATmega8 практически израсходованы (те же шрифты места много требуют), так что особых новых «фич» добавить не получится. Разве что перейти на другой, более «жирный», контроллер.

Пока же набор реализованных возможностей таков:

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

Действия кнопок:

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

При длинном нажатии кнопки соответственно входят в режимы настройки времени/будильника/яркости.

Одновременное нажатие и удержание всех трёх кнопок приводит к развороту картинки на 180 градусов. Такая вот «фича» :). Удобно для симметричного корпуса, чтобы провода питания или внешнего термодатчика с нужной стороны заводить.

По поводу печатных плат скажу следующее.

Плат всего три — 1) МК с часами, 2) матрицы с драйверами, 3) кнопки. Разводка сделана под конкретный корпус и под имеющиеся у меня матрицы. У меня были двухцветные GNM-19881 BSG, то есть на 24 ножки. Зелёный цвет я не использовал, разведя на max7219 только красные светодиоды. Так что под более популярные одноцветные матрицы придётся делать платы самим — по схеме. Тут важно не попутать столбцы-строки, так что можно попробовать для начала сделать макетку с одной матрицей. Ну или по схеме делать, тем более рабочий проект для Proteus есть.

Если кто-то сделает рабочую плату «всё-в-одном» под те же популярные 32мм матрицы ОК (есть такие у меня, в Китае заказанные), я и сам с удовольствием воспользуюсь результатом и разведу себе ещё одни часики — самому как-то лень новую плату делать.

Ну вот, пожалуй, и всё.

Удачи в повторении.

P.S. В последних прошивках, которые можно отслеживать в соответствующей ветке форума, упор сделан на вариант для четырёх матриц. Четвёртая матрица подключается в цепочку вслед за третьей. Из новых функций — авторегулировка яркости на базе фоторезистора, разные варианты шрифтов для отображения времени, локализованные варианты EEPROM (белорусский, английский, украинский, русский), возможность отключения лидирующего нуля часов при отображении времени, и прочие «вкусности» — как уже реализованные, так и запланированные.

Так что при повторении схемы, лучше сразу ориентироваться на 4 матрицы и брать новые прошивки на форуме.

Помимо этого, помимо 4 x MAX7219 в последних версиях также поддерживается драйвер HT1632, а схемотехника для него привязана к оной для платы JY-MCU 3208 Clock, которую можно легко найти в китайских магазинах вроде aliexpress.

Файлы:Печатные платыПрошивки + проект Proteus

Все вопросы в Форум.

—>

Как вам эта статья?

Заработало ли это устройство у вас?

71 3 1
12

Эти статьи вам тоже могут пригодиться:

default.pngПростейшые часы на AVR2223.pngЧасы — будильник на микроконтроллере PIC16F628A.2228.pngЭлектронные часы с наворотами.2879.pngChronulator 2.0 – часы на стрелочных вольтметрах с подсветкой2711.pngВиртуальные часы-брелок3204.pngПростенькие 6ти ламповые часики с термометром на газоразрядных индикаторах с 6ю эффектами индикации.3311.pngЧасы из HDD: Русский ответ2973.pngПервичные часы 2 — микроконтроллер наносит ответный удар4088.pngПростые часы-ночник24059.pngЧасы — информатор для ПК3723.pngЧасы на RGB матрицах + радио + BMP180+AM2321 +ПДУЧасы + секундомер + будильник «МЕРКУРИЙ-401А». Начало.Часы-пропеллер по-русскиNTP LED Clock.Часы-термометр на микроконтроллере ATmega8. V 2.0Не очень простые часы на матричных индикаторах, зато с музыкойЧасы «Микроконтроллер и 7 светодиодов».BinT ver 1.00. ( От binary time)WaterClockЧасы на микросхеме КА1016ХЛ1 и светодиодных индикаторахGPS Мультичасы «МЕРКУРИЙ 402». Финал.Как я делал часы на ГРИГлупые часы с календаремПервичные часы.Часы, календарь, термометр.Часы на PIC.Часы из амперметровОдноламповые часыОчень маленькое, но очень полезное устройство.Миниатюрные часы на вакуумно-люминисцентном индикаторе ИВ-21

—> —> SELECTORNEWS — покупка, обмен и продажа трафика —> —>Используемые источники:

  • https://mysku.ru/blog/aliexpress/33196.html
  • story/wifi_chasyi_na_svetodiodnoy_matritse_s_begushchey_strokoy_pogodyi_4680053
  • https://www.radiokot.ru/circuit/digital/home/206/

</tr></trp_imgslider></table>

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации