Skip to content

basbit/led_control_device

Repository files navigation

LED Controller (ESP32-C3 + адресная лента) — DIY

BLE‑контроллер для адресной светодиодной ленты. Код прошивки: drum_led.ino.

Возможности

  • Переключение режимов с телефона по BLE
  • Управление яркостью и скоростью
  • Выбор цвета или диапазона цветов (в т.ч. для BPM)
  • Переключение режимов кнопкой на устройстве

Комплектующие (BOM)

Контроллер: ESP32-C3 MINI (AliExpress).

Лента: адресная типа WS2812B / WS2813 / SK6812 (NeoPixel‑совместимая), 5V, GRB, 800kHz.
Рекомендуемая: WS2813, White PCB, 5M 60 IP65 (AliExpress).

Дополнительно:

  • Блок питания 5V с запасом по току
  • Кнопка (momentary) для переключения режимов
  • Опционально: цифровой микрофон/датчик удара (пин MIC_DIGITAL_PIN)

Рекомендации по монтажу:

  • Конденсатор 1000µF 6.3V+ между 5V и GND рядом с лентой
  • Резистор 330–470Ω в разрыв линии DATA
  • При длинных линиях — level shifter (например 74AHCT125)

Питание

В худшем случае 1 LED ≈ 60mA на белом. Пример: 82 LED → ~5A. Блок питания берите с запасом.

Пины

В начале drum_led.ino:

  • LED_PIN_1, LED_PIN_2 — DATA двух лент
  • BUTTON_PIN — кнопка
  • MIC_DIGITAL_PIN — цифровой вход от микрофона/датчика удара

На части плат ESP32 GPIO1 — UART TX (Serial); при использовании его под DATA логи по Serial недоступны.

BLE протокол

  • Device name: LED Strip Controller
  • Service UUID: 4fafc201-1fb5-459e-8fcc-c5c9c331914b
  • Characteristics: MODE, COLOR, SPEED, BRIGHTNESS — см. FIRMWARE.md.

Прошивка

  1. Arduino IDE: установить ESP32 core и библиотеку Adafruit NeoPixel.
  2. Открыть drum_led.ino, выбрать плату ESP32C3 Dev Module (или аналог для ESP32-C3 MINI), порт.
  3. Проверить пины и количество LED в коде.
  4. Загрузить прошивку.

Приложение для управления — в отдельном репозитории, использует те же BLE UUID.

Документация

Лицензия

MIT, см. LICENSE.


English

LED Controller (ESP32-C3 + addressable strip) — DIY

BLE controller for addressable LED strip. Firmware: drum_led.ino.

Features

  • Switch modes from phone via BLE
  • Brightness and speed control
  • Single color or color range (e.g. for BPM)
  • Mode switch via onboard button

Parts (BOM)

Controller: ESP32-C3 MINI (AliExpress).

Strip: addressable WS2812B / WS2813 / SK6812 (NeoPixel‑compatible), 5V, GRB, 800kHz.
Recommended: WS2813, White PCB, 5M 60 IP65 (AliExpress).

Also: 5V PSU with headroom, momentary button for mode switch, optional digital mic/kick sensor (pin MIC_DIGITAL_PIN).

Mounting: 1000µF 6.3V+ cap between 5V and GND near strip; 330–470Ω resistor in DATA line; level shifter (e.g. 74AHCT125) for long lines.

Power

Worst case ~60mA per LED on white. Example: 82 LEDs → ~5A. Use a PSU with headroom.

Pins

In drum_led.ino: LED_PIN_1, LED_PIN_2 (strip DATA), BUTTON_PIN, MIC_DIGITAL_PIN. On some ESP32 boards GPIO1 is UART TX; using it for DATA disables Serial logs.

BLE protocol

Device name: LED Strip Controller. Service UUID: 4fafc201-1fb5-459e-8fcc-c5c9c331914b. Characteristics: MODE, COLOR, SPEED, BRIGHTNESS — see FIRMWARE.md.

Flashing

  1. Arduino IDE: install ESP32 core and Adafruit NeoPixel.
  2. Open drum_led.ino, select ESP32C3 Dev Module (or equivalent for ESP32-C3 MINI), port.
  3. Check pins and LED count in code. Upload.

The control app lives in a separate repo and uses the same BLE UUIDs.

Docs

License: MIT, see LICENSE.

About

Device code for led control

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages