Рубрика развивается при поддержке
Advertisement
Техника
Selectel

Встречаем 2021 год с Raspberry Pi: верхушка для новогодней елки с симуляцией огня

Скоро Новый Год, и если у вас есть пара часов свободного времени, можно сделать hi-tech украшение для новогодней елки, пальмы или мандаринового дерева. Подробности и инструкция — в материале Selectel.

В основе конструкции — светодиодная гибкая лента NeoPixel 32x8, Raspberry Pi и хорошее настроение. Ну и да, понадобится немного кода на Python.

Что нужно для работы

Итак, для создания новогоднего настроения потребуются:

  • Raspberry Pi 3, Raspberry Pi 4 или Raspberry Pi Zero W с GPIO разъемом.
  • Источник питания, мышь, монитор, клавиатура и HDMI кабель для Raspberry Pi.
  • Гибкая лента 32x8 NeoPixel RGB LED Matrix.
  • Набор джамперов (M-to-F, M-to-M и F-to-F).
  • 5В источник питания.
  • Конденсатор 1000 µF.
  • Еще можно взять полоску ткани для рассеивания света LED-лент.
  • Напечатанная на 3D-принтере основа для всей конструкции.

Часть 1. Подготовка RGB-матрицы

На этом этапе нужно будет припаять пару контактов и воспользоваться примером кода от Adafruit’s NeoPixel Uberguide. Для нашего проекта нужно два источника питания — для «малинки» и светодиодной ленты. Для последней нужно будет подключить не только питание, но и данные. Здесь все просто.

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

Подключаем данные

Берем любую «землю» от «малинки» и подключаем ее к GND-линии данных светодиодной ленты.

Подключаем источник питания

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

Теперь давайте проверим матрицу, запустив код от Adafruit.

Запускаем «малинку», подключаем питание RGB-матрицы, открываем терминал и устанавливаем зависимости:

sudo pip3 install rpi_ws281x adafruit-circuitpython-neopixel sudo python3 -m pip install --force-reinstall adafruit-blinka

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

git clone https://github.com/carolinedunn/RGBTreeTopper

Выбираем папку scrollingTextMask:

cd RGBTreeTopper

Запускаем тестовый код fillMatrix.py:

sudo python3 32-fillMatrix.py

Если получилась радуга, как на гифке выше, все работает, можно двигаться к следующему этапу. Если что-то пошло не так, скорее всего, какие-то контакты неверно подключены.

Советы: Если система не работает с пином 21 GPIO «малинки», попробуйте пины 10, 12 или 18. Затем нужно открыть 32-fillMatrix.py из папки scrollingTextMask и обновить вывод GPIO. В этом случае нужно будет соответствующим образом изменить и другие файлы проекта.

Останавливаем скрипт при помощи комбинации Ctrl+C.

Часть 2. Зажигай!

Теперь в терминале, который все еще открыт, набираем команду:

sudo python3 treeTopper.py

В папках, которые мы взяли с GitHub, есть папка «fire», которая содержит 10 картинок в формате jpeg. Вот что делает код treeTopper.py:

Объявляет библиотеки, которые используются в коде. Внимание нужно обратить на PIL (Pillow Imaging Library), это библиотека, которая добавляет возможность обработки изображений в интерпретатор Python.

  • Сообщает Pi, куда отправлять данные на матрицу, указав 21 пин GPIO (строка 8).
  • Указывает параметры матрицы, включая размер, яркость и время паузы между демонстрацией каждой из картинок (строки 9-13).
  • Создает массив с данными тех самых 10 JPEG файлов в последовательном порядке (строки 28-32).
  • Анализирует пиксели изображений и преобразовывает их в RGB-матрицу с выводом изображения на матрицу RGB (строки 35-41).
  • Делает паузу на 0.2 секунды, затем повторяет процесс для следующего изображения (строка 42).
  • Процесс выполняется до момента выполнения комбинации Ctrl+C.

А если хочется собственных картинок?

Параметры должны быть следующими:

  • Формат — JPEG.
  • Ширина — 32 пикселя.
  • Высота — 8 пикселей.

Каждый файл нужно сохранять под названиями 1-10.JPG в соответствующую папку.

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

Запуск при загрузке

Как только мы подготовили все изображения, используем Python для запуска скрипта при загрузке устройства. Лучший вариант — Crontab.

В консоли открываем Crontab: crontab -eВводим 1 и нажимаем Enter.

Таким образом открывается новый файл crontab. Внутри опускаемся вниз и enter ->

sudo python3 /home/pi/RGBTreeTopper/treeTopper.py @reboot sudo python3 /home/pi/RGBTreeTopper/treeTopper.py

Нажимаем Ctrl+X, а затем crontab для сохранения.

Выключаем «малинку» и отключаем все, что собрали.

Часть 3. Финальная сборка

На этом шаге уже можно продемонстрировать новогодний огонек на вершине не менее новогодней елки.

  • Печатаем корпус на 3D-принтере.
  • Пропускаем в нужные места провода и фиксируем их.
  • Изгибаем LED-матрицу, сильно давить не нужно.
  • Водружаем конструкцию на вершину елочки. Включаем и радуемся.

Кстати, автор в курсе, что изобретение по форме напоминает рулон туалетной бумаги.

Она шутит, что на фоне происходящего в 2020 году это вполне адекватно. Но вообще ее можно и изменить — конструкция при желании легко модифицируется, так что рулон бумаги превращается… да во что угодно.

➝ Подписывайтесь на блог Selectel, будем вместе создавать новогоднее настроение.

{ "author_name": "Selectel", "author_type": "editor", "tags": ["\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430","selecteldiy","selectel","raspberrypi","diy"], "comments": 3, "likes": 2, "favorites": 7, "is_advertisement": false, "subsite_label": "tech", "id": 185072, "is_wide": true, "is_ugc": false, "date": "Tue, 08 Dec 2020 12:36:09 +0300", "is_special": false }
0
3 комментария
Популярные
По порядку

Почему нет комментариев? Прикольно же)

2

Такая светодиодная лента подойдет?

https://cvetomuzyka.com/katalog/svetodiodnaya-cvetomuzyka/svetodiodnaya-lenta-tsvetomuzyka/

для контроллера.

1

Да, должна подойти! 

1
Читать все 3 комментария
Okko начал тестировать новый формат обогащённых ответов от «Яндекса» — выбор стриминга по запросам о кино Статьи редакции

Компания предложила новый вариант на фоне разбирательства в ФАС. Онлайн-кинотеатры считают, что говорить о соглашении пока рано.

Готовимся к техническому собеседованию при помощи чат-бота: проект студентов SkillFactory

Если вы загуглите «как пройти техническое собеседование», найдёте статьи, инструкции, кейсы, а также анекдоты и мемы. И вряд ли отыщете «волшебную таблетку», которая поможет вам и даст все ответы. Мы тоже не нашли — и сделали чат-бота для подготовки к техническому собеседованию. Рассказываем, кто и как его создавал и что получилось в итоге.

Что такое сложный процент. Рассказывает персональный брокер

Персональные брокеры помогают разобраться, как сформировать долгосрочный портфель и не отвлекаться на новостной шум. Сегодня поговорим о сложном проценте, который поможет инвестору получить больше от своих инвестиций.

Предсказал будущее интернета в 90-ых и пропал, когда его прогнозы стали сбываться: история Филипа Агре Статьи редакции

Исследователь рассказал об опасности сбора данных ещё до запуска Google и Amazon, поставил под сомнение этичность работы над искусственным интеллектом и предсказал китайскую систему рейтинга.

Филип Агре NPR
Ozon запланировал запустить онлайн-кинотеатр — «Ъ» Статьи редакции

На запуск может уйти около $100 млн, считают эксперты.

Как сделать карьеру из незакрытого со школы гештальта

История создания самого успешного в России университетского мобильного приложения

Google Ads опять вносит изменения в работу типов соответствия ключевых слов

Адаптированный перевод с комментариями Александра Хитро вышедшей 23 сентября статьи из Справки Google Ads и пока не переведенной на русский язык.

«Сбер» запустил первую в России наружную 3D-рекламу с CGI-персонажами Чебурашкой и крокодилом Геной Статьи редакции

Видео длиной семь минут создавали около четырёх тысяч часов.

3D-рекламу с CGI-персонажами «Сбер»
Банк России утвердил порядок тестирования неквалифицированных инвесторов

Банк России утвердил в новой редакции стандарт, который устанавливает порядок тестирования неквалифицированных инвесторов для допуска к совершению сделок со сложными финансовыми инструментами.

Сколько функций нужно продукту: обзор знаменитых законов программирования

Ко дню IT-аналитика собрали знаменитые законы и принципы, которые говорят о функциональном содержании информационных систем.

Старинный пруд в Москве очистят при помощи водной мяты

Систему природной очистки воды при поддержке крупного французского фитокосметического бренда презентовали в Ботаническом саду МГУ «Аптекарский огород». Рассказываем, как устроена технология и в чем выгода использования растений.

фото: пресс-служба "Аптекарского огорода"
null