• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

У Павла!

  • Контроллеры
    • Arduino
      • Приборы
      • Музыка
      • Проекты Arduino
      • Уроки Arduino
      • Игры на Arduino
      • Роботы на Ардуино
      • FLProg
    • Одноплатные ПК
      • Orange pi
      • Raspberry pi
        • Raspberry pi pico
        • Raspberry pi server
        • Проекты Raspberry pi
    • ESP
      • ESP8266
        • NodeMCU
      • ESP32
      • M5stack
    • Другие контроллеры
      • STM32
  • Умный дом
    • Home Assistant
      • Home Assistant Container
      • Автоматизации
      • Lovelace
    • Tuya
    • Bluetooth
    • ESPHome
    • Frigate
    • Telegram
    • Яндекс
  • ЧПУ
  • 3d печать
  • Об авторе

Очень красивый эффект горения свечи на светодиодной матрице, шим контроллере и esp32. С интеграцией в Home Assistant.

3 марта, 2026

CharliePlex 15×7: https://ali.click/pc7i11i?erid=2SDnje9wUhX

Начнём с того, что лучше эффекта горения свечи электронного я просто не встречал. Этот вариант настолько крутой, что хочется на него смотреть (как и на огонь) вечно.

Данная матрица светодиодная, имеет обычные светодиоды 15×7 размером. Но на плате еще есть шим контроллер IS31FL3731, который управляет этими светодиодами уменьшая их яркость, тем самым получается очень крутой эффект, как будто это адресная матрица, только имеет совершенно другие светодиоды.

Ну оно и получается так, что можно зажечь любой светодиод по отдельности.

Я делал подобный проект, но на матрице 16×8 размером и там шим контроллера на самой плате матрицы нет, там шим контроллер припаивался отдельно к матрице сзади. Но шим контроллер там тот же IS31FL3731:

Красивый ночник “Электронная свечка”

 

И по этой же аналогии свечи, я захотел сделать и на матрице 15×7 данный эффект. Но оказалось, что это не так просто, как кажется. Готовых рабочих примеров я попросту не нашёл. Ничего не работало, на  матрице все билось, эффект кривой получался, перевёрнутый и разбит на две части.

Но спустя некоторые усилия, мне всё-же удалось сделать рабочий вариант горения этой свечи.

Сначала я пытался это все делать в ESPHome и на esp32c3, но  оказалось, что в yaml это очень сложно реализовать и я бросил эту затею.

Но в arduino ide был же прошлый вариант, по этому с него и начал новый делать.

Мне пришлось карту адресов светодиодов заново узнать и написать, так как адресация из библиотеки Adafruit_IS31FL3731.h была совсем другая и по этому все эффекты бились. И тут непонятно, толи эта матрица – это клон adafruit со своим шимом, которые имеет уникальные адреса. Толи просто матрицы уже другая и адреса другие.

 

Помимо анимации свечения, я еще сделал так, чтоб она управлялась из умного дома Home Assistant (да по сути и не только из него) по MQTT. А именно включалась и выключалась.

Я подумал, что это полезная функция. Если делать такой ночник, как свеча – то полезно его включать при наступлении темноты и выключать соответственно когда светло.

 

Схема подключение:

Питание подключается по следующей схеме:

Слева плюс, с права минус и подаётся 3 вольта.

 

i2c у матрицы на этих пинах:

 

i2c адрес по умолчанию 0x74, если запаять перемычку, то будет 0x77.

 

 

Ну а пины esp32c3 контроллера, это gpio 5 – sda и gpio 6 – scl. Ну а питание 3.3 вольта подаём прям от контроллера. Этого достаточно для матрицы.

 

Программа:

Код написан в Arduino ide.  Для работы нужны библиотеки:

Adafruit_IS31FL3731.h – нужна для работы с матрицей
PubSubClient.h – нужна для публикации в mqtt
Wire.h – нужна для работы с i2c
WiFi.h – нужна для работы с wifi
Первые две нужно доустановить, остальные стандартные.
Так-же тут объявлен отдельный файл data7x15.h – файл должен находиться рядом с файлом программы.ino. у меня это candle.ino.
Ну и при открытии файла candle.ino в arduino ide, появляется две вкладки: candle.ino и data7x15.h
Далее в коде есть блок натсройки wi-fi, где вам нужно указать свой SSID и пароль от сети wifi:
Далее блок mqtt еще нужно указать. Где указывается ip адрес mqtt сервера, его порт, логин и пароль:
Далее указываем i2c пины и адрес i2c. По умолчанию 0x74, но может быть и 0x76.
Ну и самое главное, это карта светодиодов. Она у меня получилась вот такая.
const uint8_t ledMap[15][7] = {
  {2, 3, 4, 5, 6, 7, 8},
  {18, 19, 20, 21, 22, 23, 24},
  {34, 35, 36, 37, 38, 39, 40},
  {50, 51, 52, 53, 54, 55, 56},
  {66, 67, 68, 69, 70, 71, 72},
  {82, 83, 84, 85, 86, 87, 88},
  {98, 99, 100, 101, 102, 103, 104},
  {114, 115, 116, 117, 118, 119, 120},
  {127, 126, 125, 124, 123, 122, 121},
  {111, 110, 109, 108, 107, 106, 105},
  {95, 94, 93, 92, 91, 90, 89},
  {79, 78, 77, 76, 75, 74, 73},
  {63, 62, 61, 60, 59, 58, 57},
  {47, 46, 45, 44, 43, 42, 41},
  {31, 30, 29, 28, 27, 26, 25}
};
собственно это адреса диодов на матрице. их так-же 15×7.
Сам код получился у меня на 265 строк, да еще и анимация огня. По этому я его просто архивом прикладываю: https://disk.yandex.ru/d/2ScaGNOuwKdXyA
Ну а кому не хочется с MQTT или сервера mqtt нет, а хочется такую свечку сделать. То есть у меня еще код без mqtt, просто подал питание, свечка горит: https://disk.yandex.ru/d/AMjzSHUa2wFswA
Но все-же версия для mqtt, читает данные из топика: hmd/switch/esp32_candle_01/state и ждёт 2 состояния. ON – включает свечу, OFF выключает её.
Для работы с Home Assistant, можно сделать кнопку. В файл mqtt в блок switch, в Home Assistant добавляем:
- name: "Магическая свеча"
  unique_id: esp32_candle_01_switch
  command_topic: "hmd/switch/esp32_candle_01/set"
  state_topic: "hmd/switch/esp32_candle_01/state"
  payload_on: "ON"
  payload_off: "OFF"
  state_on: "ON"
  state_off: "OFF"
  optimistic: false
  qos: 1
  retain: true
  device:
    identifiers: ["esp32_candle_01"]
    name: "Магическая свеча"
    manufacturer: "DIY"
    model: "ESP32-C3 Candle“

Вывод:

По итогу мне очень понравился этот опыт и эта свеча. Я буду в дальнейшем еще их докупать и сделаю из них атмосферные ночники. Буду такими свечками себе все освещать.
И я очень рад, что их стало доступно купить на Aliexpress. Раньше только adafruit их продавали. Но кстати, если судить по шелкографии сзади, у купленных с Aliexpress нет надписи adafruit, все-же видимо это клон. Но это и лучше. значит они не закончатся.
Реклама: ООО “АЛИБАБА.КОМ (РУ)” ИНН: 7703380158

Primary Sidebar

Поиск

Новые записи

  • Очень красивый эффект горения свечи на светодиодной матрице, шим контроллере и esp32. С интеграцией в Home Assistant.
  • Установка и настройка OpenClaw на примере Orange pi 6 plus
  • Делаем IP KVM на 4 порта из обычного KVM и Одноплатного компьютера с PiKVM на борту.
  • Предсказание выпадения осадков по атмосферному давлению в Home Assistant
  • PXVIRT – Proxmox для ARM процессоров. Установка, настройка и установка Home Assistant OS (HAOS)

Подписывайтесь на Телеграм канал

https://t.me/ypavla

Secondary Sidebar

Подписывайтесь на Telegram Канал!

У Павла!

Footer

Copyright_У Павла! © 2026 ·