Создание потрясающих веб‑управляемых LED‑анимаций на Raspberry Pi и Arduino
Компоненты и материалы
| Raspberry Pi 3 Model B | × | 1 |
| Arduino UNO (можно Nano, для большего числа пикселей — Mega) | × | 1 |
| Лента NeoPixel (WS2812 / WS8212) | × | 1 |
Программное обеспечение
- Arduino IDE
О проекте
Обзор проекта
Arduino Light Animation (ALA) — библиотека для Arduino, упрощающая управление LED и запуск цветных анимаций. Более 30 готовых анимаций и несколько палитр. Подробности — в блоге автора.
Проект добавляет Raspberry Pi 3, который отдаёт веб‑страницу для управления анимациями, цветами и скоростью со смартфона или ПК через браузер. Видео демонстрации AlaWeb выше.
Необходимые компоненты:
- WS2812 RGB LED‑лента — индивидуально адресуемые RGB‑светодиоды по однопроводному интерфейсу.
- Arduino — запускает ALA, управляет лентой, получает команды от Raspberry Pi по USB‑Serial. Подходят Uno, Nano, Mega.
- Raspberry Pi — мини‑ПК с веб‑интерфейсом.
Проект прост, если знакомы с Arduino и Raspberry Pi. Разбит на два этапа.
Проводка
WS2812 легко подключить. Главное — достаточное питание. Для коротких лент (≤10 LED) можно питать от USB, для длинных — нужен отдельный источник. Начальный вариант — от 5 В Arduino (как в видео).
- Arduino GND → WS2812 GND
- Arduino 5V → WS2812 5V
- Arduino pin 6 → WS2812 Ctrl/Din

Расчёт тока: каждый RGB LED потребляет 60 мА на белом. Пример: 2 м ленты 60 LED/м = 120 LED × 60 мА = 7.2 А. Нужен блок 5 В ≥7.2 А.
Схема с внешним питанием:
- GND блока → Arduino GND и WS2812 GND
- 5V блока → Arduino 5V и WS2812 5V
- Arduino pin 6 → WS2812 CTRL

Внимание: питание через 5V pin обходит стабилизатор Arduino — будьте осторожны. Подробнее — гайд. Ещё о проводке WS2812 — гайд.
Настройка Arduino
- Подключите Arduino к ПК по USB.
- Arduino IDE → Sketch → Include Library → Manage Libraries → установите ALA library.
- Откройте пример RgbStripSerial (Files → Examples → ALA → RgbStripSerial). Проверьте константу
NUM_PIXELS— должна совпадать с числом LED в ленте. Для >10 пикселей используйте схему с внешним питанием. - Загрузите скетч (Ctrl+U). При проблемах проверьте Tools → Board / Port.
- Откройте Serial Monitor (Tools → Serial Monitor). Должно появиться приветствие.

Настройте: Newline, baud 9600.
Попробуйте команды (без пробелов):
- A=101 — включить ленту
- A=251 — анимация «Larson scanner» (бегущий огонёк)
- P=2 — палитра «радуга»
- A=242 — другая анимация
Справочник команд:
- A=[код анимации] — установить анимацию (коды в
AlaLed.h) - B=[яркость] — 0–100
- D=[длительность] — мс цикла анимации, тип. 500–5000
- C=[цвет] — hex RGB, напр. E8A240
- P=[палитра] — 0–5
Теперь управление со смартфона.
Настройка Raspberry Pi
Развёртываем мини‑веб‑сервер для управления из браузера. То же работает на любом ПК с Python 3.
Предварительно: Raspberry Pi настроен, свежий Raspbian (проверено на Stretch), интернет есть.
- Установите библиотеки Python 3:
sudo pip3 install pyserial flask - Создайте директорию и скачайте AlaWeb:
mkdir /home/pi/AlaWeb cd /home/pi/AlaWeb wget https://github.com/bportaluri/AlaWeb/archive/master.zip unzip master.zip - Подключите Arduino USB к Raspberry Pi.
- Запустите:
cd AlaWeb-master sudo python3 AlaWeb.py
AlaWeb найдёт USB‑порт Arduino автоматически. Если зацикливается — прервите и укажите порт вручную:
sudo python3 AlaWeb.py /dev/ttyACM0
Успешный запуск:

Откройте браузер по показанному URL — веб‑страница с кнопками управления лентой.

Наслаждайтесь!
Код
AlaWeb — крошечный веб‑сервер на Python/Flask для управления анимациями из браузера:
https://github.com/bportaluri/AlaWeb
ALA — библиотека Arduino для световых анимаций на LED/лентах:
Блог | GitHub
Схемы



Производственный процесс
- Создание быстрой надежной системы обнаружения пожара с Samsung SAMI, Arduino UNO и Raspberry Pi
- Создайте автоматизированную аэропоническую систему с Raspberry Pi и датчиком влажности
- Создание робота на Raspberry Pi и Python: полное руководство
- Создание интернет-управляемого видеostreaming-робота на Arduino и Raspberry Pi
- gatoBot: Веб-управляемый робот на Raspberry Pi Zero W с живым видеопотоком
- Панель управления полётным симулятором 2020 на Arduino Nano: LCD и CDI-дисплеи
- Панель переключателей и LED для Microsoft Flight Simulator 2020 на Arduino
- Управление светодиодом по Bluetooth с Arduino: простой DIY-гид
- Пошаговое руководство: сборка умного четырёхногого робота на Arduino
- Точное управление сервоприводом через MPU6050 (Arduino, SG90, MG996R)