Часы на матрице 32х64 и esp32 своими руками

Добавил пользователь Cypher
Обновлено: 04.10.2024

Новая версия прошивки для интернет часов на ESP8266/ESP32 MAX7219 Версия 1.6.0: Что нового : - создан раздел .

Часы, метеостанция, текущая погода на ESP32. Статья на дзен с кодом компонентами и принципиальной схемой: .

Важная новость для тех кто не в курсе. LILYGO®TTGO T-Watch-2020 ESP32 Появились часы(смарт браслет) на ESP32!

Webmoney: Z802785253946 R219769680871 В этом видео я покажу как сделать часы на esp32 и led panel 32х64. Для этого .

Решил сделать для кухни WiFi часы информер с выводом необходимой информации. Выбор пал на проект Константина .

Ещё одна тестовая самоделка становится похожа на полезное устройство - точные часы с температурой, которая сейчас .

I finally got around to making this video about my TTGO ESP32 T-Display smart watch that I've been working of for about 3 months .

Ламповые часы на индикаторах Ин12 , а так же чипа ESP8266 . Кстати компания PCBway дает бесплатно 10 плат при .

Собрал вторю версию самодельных часов на Arduino с сенсорным дисплеем Nextion. Эта версия часов умеет .

○ В этом ролике: я рассказываю об интересном инструменте, которым пользуются специалисты по информационной .

ntp 1

Проект NTP-часов собран на модуле ESP32 module with OLED display в среде разработки PlatformIO.

PlatformIO

это среда разработки для IoT, построенная на основе редактора Atom:

platformio

Онра поддерживает разработку проектов на Arduino, а библиотека Arduino в совю очередь поддерживает ESP8266 и ESP32 (Список поддерживаемых модулей).

Создать новый проект очень просто – нужно выбрать плату ESP32:

platformio new project

Создается пустой проект:

platformio empty project

Так как мы хотим использовать NTP, открываем менеджер библиотек и ищем соответствующую библиотеку:

platformio lib ntp

Теперь ищем библиотеку NTP и устанавливаем

platformio ntp

в консоли PlatformIO.

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

Затем подсоединяем свой модуль через USB к компьютеру. Должно появитсья устройство /dev/ttyUSB0. Компилируем проект и жмем Upload.

ESP32-DOIT-DEVKIT-V1-Board-Pinout-36-GPIOs-Copy-768x554.jpg

На фото, результаты моих сегодняшних трудов. Сие есть WIFI часы. Датчик DS18B20 кинут на порт 4, он там и не должен работать, поэтому -127 градусов и кажет. Яркость самая минимальная у матрицы, сегодня словил зайцев в глаза от неё(пока не научился яркость выставлять). На фото, довольно всё блекло выглядит, но даже при ярком свете - вполне себе контрастно в помещении и всё видно.

011.jpg

010.jpg

009.jpg

008.jpg

007.jpg

006.jpg

005.jpg

004.jpg

P/S небольшая тонкость именно по маркировке на моей плате ESP32 DEVKIT V1 30 GPIOs. Выводы GPIO 16(IO16)/GPIO 17(IO 17) промаркированы на плате как RX2/TX2. Соотвественно GPIO 16/IO16/RX2 и GPIO 17/IO 17/TX2.

Единственная проблема у этой матрицы, оказалась слишком высокая светимость для жилого помещения ночью. На самом низком уровне светимости.
matrix.setTextColor(matrix.color444(0, 1, 0));
Это только зелёные в RGB матрице светятся на 1 из 15 уровней, красный и синий в 0 установлены.
В таком режиме(и на фото), матрица потребляет 180..200 мА/5В. Мощность расходуется 0,2А*5В=1Вт. Довольно экономично. Пиковая мощность матрицы по даташиту 21,5 Вт.
Можно ещё электрическими методами светимость снизить, допустим подать 4 В питания на матрицу.
Если в жилом помещении такое табло устанавливать, придёт добавить датчик освещённости/фоторезистор. Иначе, при ярком дневном свете не будет видно ничего, а ночью будет светить прожектор. Как вариант, задать светимость по часам. С другой стороны, по временам года ещё часовую светимость нужно будет уравнивать. Наверное, проще поставить фоторезистор.

013.jpg

014.jpg

016.jpg

Всёж разобрался с часами, нашёл где выставлять часовой пояс и добавил датчик температуры/влажности DHT11. C термометром DS18B20 ни чего не получилось, первое показание с него читается, но после активации матрицы, прерывания конфликтуют и идёт температура -127 градусов. На самом деле, DS18B20 работает на любых свободных портах, но конфликтует с прерываниями дисплея.

220.jpg

221.jpg

222.jpg

223.jpg

224.jpg

225.jpg

226.jpg

227.jpg

228.jpg

// constructor with default pin wiring
P3RGB64x32MatrixPanel matrix;

// use this constructor for custom pin wiring instead of the default above
// these pins are an example, you may modify this according to your needs
//P3RGB64x32MatrixPanel matrix(25, 26, 27, 21, 22, 23, 15, 32, 33, 12, 16, 17, 18);

char ssid[] = "SSID";//ИМЯ СЕТИ WIFI
char pass[] = "PASS";//ПАРОЛЬ СЕТИ

Крутая WiFi панель / гирлянда на esp8266 своими руками

Этот проект основан на проекте "Крутая WiFi лампа на esp8266 своими руками" с расширением возможностей работы на неквадратных широких матрицах с размерами от 23x11.
Основное назначение проекта - настенные экраны больших размеров или гирлянды на широкие балконы.
Также подходит с некоторыми ограничениями для матриц с размерами 16x16. Ограничение связаны с невозможностью отображения часов крупным шрифтом 5x7 для которого требуется матрица не менее 23 пикселей по ширине. Для матриц менее 23 колонок шириной в часах может использоваться только шрифт 3x5 для которого достаточно 15 колонок.

  • Проект собран на базе микроконтроллера ESP8266 в лице платы NodeMCU или Wemos D1 mini (неважно, какую из этих плат использовать)
  • Реализована поддержка микроконтроллера ESP32, имеющего больший размер оперативной памяти и быстродействие, что позволяет управлять матрицами с большим количеством светодиодов
  • Матрица может быть реализована на адресной ленте или отдельных светодиодах WS8212b, спаянных в нити гирлянды проводами
  • Также для компактных панелей может использоваться соединение нескольких гибких адресных матриц 16×16, состоящих из 256 диодов с плотностью 100 штук на метр, что позволяет легко получить панели размерами 32х16, 48x16, 64x16 и так далее (до 128 по ширине и/или высоте).
  • Система управляется со смартфона по Wi-Fi в локальной сети или из любой точки мира через MQTT, а также “оффлайн” с кнопки на корпусе (сенсорная кнопка на TTP223 или любая физическая кнопка с нормально разомкнутыми контактами)
  • В случае реализации проекта в виде большой настенной матрицы поддерживается функционал будильника-рассвет и индикация текущего времени на индикаторе TM1637, что позволяет в ночное время полностью выключать саму матрицу, оставляя возможность отображения текущего времени на этом индикаторе
  • Поддерживается загрузка файлов анимации формата *.out программы Glediator с SD-карты.
  • Заливка панели белым или другим выбранным цветом
  • Снегопад
  • Блуждающий кубик
  • Пейнтбол
  • Радуга (горизонтальная, вертикальная, диагональная, вращающаяся)
  • Огонь
  • The Matrix
  • Шарики
  • Конфетти
  • Звездопад
  • Шумовые эффекты с разными цветовыми палитрами
  • Плавная смена цвета заливки панели
  • Светлячки
  • Водоворот
  • Мерцание
  • Северное сияние
  • Циклон
  • Тени (меняющийся теневой рисунок на матрице)
  • Демо-версия игры Тетрис - автоигра без возможности управления
  • Демо-версия игры Лабиринт - автоигра без возможности управления
  • Демо-версия игры Змейка - автоигра без возможности управления
  • Демо-версия игры Арканоид - автоигра без возможности управления
  • Демо-версия игры Эволюция (симулятор жизни) - автоигра без возможности управления
  • Движущийся синус
  • Палитра (лоскутное одеяло)
  • Имитация графического индикатора спектра, движущегося "в такт музыке".
  • Вышиванка
  • Дождь
  • Камин
  • Стрелки
  • Погода (слайдшоу или отображение текущих погодных условия)
  • Отображение анимированных картинок
  • Фоновые узоры (нотки, сердечки, снежинки, зигзаги и т.п.)
  • Анимация с SD карты

Доступны в приложении-компаньоне "WiFiPlayer"

Кнопка управления режимами, последовательность переключения:

Будильник сработал, идет рассвет или мелодия пробуждения

Долгое удержание кнопки

  • При включенной панели - плавное изменение яркости
  • При выключенной панели - включение яркой белой панели освещения (только для сборки типа "Лампа" - DEVICE_TYPE == 0)

Однократное нажатие кнопки

  • Включение / выключение панели. При включении возобновляется режим на котором панель была выключена.

Двухкратное нажатие кнопки

Трехкратное нажатие кнопки

  • Включение демо-режима с автоматической сменой режимов по циклу

Четырехкратное нажатие кнопки

  • Включение яркой белой панели освещения из любого режима, даже если панель была "выключена" /для сборки типа "Лампа"/
    Отображение IP адреса панели на матрице и на индикаторе TM1637, если подключение к локальной WiFi сети установлено /для сборки типа "Панель"/

Пятикратное нажатие кнопки

  • На индикаторе TM1637 и на матрице отображается IP адрес панели, если подключение к локальной WiFi сети установлено /для сборки типа "Лампа"/

ВНИМАНИЕ! Если это твой первый опыт работы с Arduino, читай инструкцию

  • Android - файлы с приложениями, примерами для Android и MIT App Inventor
  • firmware - прошивки
  • libraries - библиотеки проекта.
  • pics - примеры картинок для загрузки / отображении на матрице
  • schemes - схемы подключения компонентов
  • sounds - звуковые файлы будильника для размещения на SD-карте
  • tools - полезные утилиты, Jinx! и другие
  • wiki - файлы раздела wiki-страниц GitHub

Варианты схем с различным набором компонент, для микроконтроллеров ESP8266 - NodeMCU, Wemos d1 mini, ESP32 представлены здесь.

SCHEME

Вариант релизации от Дмитрия (7918514) - схемы, фотографии сборки и готового изделия, печатные платы - все материалы доступны по ссылке в папке "Монстр".

Материалы и компоненты

Ссылки оставлены на магазины

Вам скорее всего пригодится

Как скачать и прошить

На главной странице проекта (где ты читаешь этот текст) вверху справа зелёная кнопка Clone or download, вот её жми, там будет Download ZIP

Подробная инструкция тут

Если проект не собирается (ошибки компиляции) или собирается, но работает неправильно (например вся матрица светится белым и ничего не происходит) - проверьте версии библиотек. Данный проект рассчитан на работу с версиями библиотек поддержки плат ESP версии 2.7.4 и библиотеки FastLED версии 3.2.9 или более новую (до 3.4.0);

Не используйте библиотеку поддержки плат ESP8266 (ядро) версии 3.x.х и ESP32 версии 2.x.x - с ними проект работать не будет ввиду несовместимости с библиотекой FаstLED указанных версий

Если в качестве микроконтроллера вы используете Wemos D1 - в менеджере плат для компиляции все равно выбирайте "NodeMCU v1.0 (ESP-12E)", в противном случае, если выберете плату Wemos D1 (xxxx), - будет работать нестабильно, настройки не будут сохраняться в EEPROM, параметры подключения к локальной сети будут сбрасываться каждый раз при перезагрузке, плата вместо подключения к локальной сети будет каждый раз создавать точку доступа.

About

Универсальная прошивка для широкоформатных матриц / гирлянд на балкон или стену / лампы с эффектами / часов с будильником-рассвет. Управление по WiFi в локальной сети или через MQTT-брокер.

RGB матрица 64x32 — цифровая полноцветная светодиодная матрица.

Можно использовать в любых проектах, где требуется вывод данных на цветной дисплей размерами 64x32 пикселя. В качестве данных для вывода могут использоваться изображения, символы или бегущая строка.

Представлена в 3 вариантах:

Видео:

Спецификация:

  • Шаг пикселя:
    • P2.5: 2.5мм;
    • P3: 3мм;
    • P4: 4мм;
    • P3: 192мм x 96мм х 15мм;
    • P2.5: 160мм х 80мм х 15мм;
    • P4: 256мм x 128мм х 15мм;

    Подключение:

    Шлейф:

    Для подключения матрицы используется 16-проводной шлейф:


    Вывод матрицы

    Шлейф

    Подключение шлейфа

    Распиновка шлейфа

    Выводы:

    Для подключения шлейфа к управляющей плате Вам понадобится 16 проводов папа-папа.

    Вывод R1

    Вывод G1

    Вывод B1

    Вывод R2

    Вывод G2

    Вывод B2

    Вывод A

    Вывод B

    Вывод C

    Вывод D

    Вывод CLK

    Вывод OE

    Вывод LAT

    Выводы GND

    Вывод 2

    Вывод 3

    Вывод 4

    Вывод 5

    Вывод 6

    Вывод 7

    Вывод A0

    Вывод A1

    Вывод A2

    Вывод A3

    Вывод 8

    Вывод 9

    Вывод 10

    Выводы GND

    Вывод 8

    Вывод 9

    Вывод 4

    Вывод 5

    Вывод 6

    Вывод 7

    Вывод A0

    Вывод A1

    Вывод A2

    Вывод A3

    Вывод 11

    Вывод 12

    Вывод 13

    Выводы GND

    Вывод 24

    Вывод 25

    Вывод 26

    Вывод 27

    Вывод 28

    Вывод 29

    Вывод A0

    Вывод A1

    Вывод A2

    Вывод A3

    Вывод 11

    Вывод 9

    Вывод 10

    Выводы GND

    Питание:

    К RGB матрице 64х32 подключается питание напряжением 5В и током до 4А.

    Чтобы матрица не вышла из строя раньше времени, рекомендуем воспользоваться надёжным источником питания.

    Подробнее о матрице:

    Данная матрица может быть подключена к Arduino Uno и её аналогам, к Piranha ULTRA или Arduino Mega. В случае с Arduino Uno и её аналогами памяти для управления всеми светодиодами матрицы не хватит, что означает либо ограничение количества управляемых светодиодов, либо переход на более ресурсоёмкую Piranha ULTRA или Arduino Mega.

    Выбор разрешения матрицы:

    Данная библиотека поддерживает масштабируемость изображения. При объявлении объекта Вы можете указать тот размер, который Вам необходим: 32х32, 64х32.

    Для выбора разрешения при объявлении объекта укажите следующие параметры:

    Так же матрицу возможно подключить к плате семейства Raspberry или Teensy (3.5, 3.6). Данные платы обладают характеристиками для подключения сразу нескольких матриц как единого целого, что позволит увеличить рабочую область.

    Подключение к Arduino Uno и её аналогам:

    Характеристики Arduino Uno и её аналогов позволяют работать с матрицами разных размеров вплоть до 32х32 пикселя. Для работы с матрицами большего размера Вам придётся ограничить количество отображаемых светодиодов до максимально поддерживаемого (32х32).

    Для того, чтобы матрицы размера 64х32 и меньше работали на Arduino Uno и её аналогах, необходимо в начале любого скетча изменить следующие строки:

    При объявлении объекта необходимо указать требуемое разрешение:

    Корпус

    Для матриц P2.5 и P3 нами так же были разработаны корпуса, используя которые Вы сможете создать законченное устройство.

    Для матрицы с шагом 2.5мм:

    • 2х Основа для RGB матрицы 64х32 P2.5;
    • 6х Рейка 7х4;
    • 2х Рейка 1х3;
    • 1х Набор винтов М3х10мм;

    Для матрицы с шагом 3мм:

    • 2х Основа для RGB матрицы 64х32 P3
    • 6х Рейка 8х4;
    • 2х Рейка 2х3;
    • 1х Набор винтов М3х10мм;

    Примеры:

    Включение светодиодов случайным образом

    Перелив всей матрицы от одного цвета к другому

    Отображение квадратов на матрице

    Вывод гаммы цвета в круге

    "Прыгающие" по матрице круги

    Бегущая строка

    Вывод произвольного изображения

    Описание функций библиотеки:

    Библиотека Adafruit RGBmatrixPanel работает только в паре с библиотекой Adafruit GFX, учитывайте это при работе с матрицей.

    Читайте также: