Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Светодиодная анимация с веб-управлением с Raspberry Pi и Arduino

Компоненты и расходные материалы

Raspberry Pi 3, модель B
× 1
Arduino UNO
Также можно использовать Arduino Nano. Может потребоваться Arduino Mega для управления большим количеством светодиодных пикселей.
× 1
полоса NeoPixel
Можно использовать любую светодиодную ленту WS8212.
× 1

Приложения и онлайн-сервисы

IDE Arduino

Об этом проекте

Обзор проекта

Arduino Light Animation (ALA) - это библиотека Arduino для управления светодиодами и запуска красочных анимаций с минимальными усилиями. Библиотека предоставляет более 30 предустановленных анимаций и несколько цветовых палитр. Дополнительную информацию о библиотеке ALA вы можете найти в моем блоге.

В этом проекте представлена ​​плата Raspberry Pi 3, которая будет предоставлять веб-страницу, позволяющую управлять анимацией, цветами и скоростью со смартфона или ПК с помощью веб-браузера. Вот короткое видео об AlaWeb в действии.

Для этого проекта необходимо несколько компонентов.

  • WS8212 Светодиодная лента RGB :Эти полоски содержат несколько светодиодов RGB, к которым можно обращаться индивидуально с помощью однопроводного интерфейса, что позволяет полностью контролировать цвет каждого светодиода RGB.
  • Ардуино :Знаменитая плата микроконтроллера будет запускать мою библиотеку ALA для управления светодиодной лентой, получающей команды от Raspberry PI через последовательный порт USB. Вы можете использовать платы Arduino Uno, Nano и Mega.
  • Raspberry PI :Этот небольшой компьютер будет предоставлять веб-страницу для управления параметрами освещения и анимации.

Проект довольно простой, если вы знакомы с платами Arduino и Rapberry PI. Я разделил проект на два этапа, чтобы помочь вам в процессе настройки.

Электропроводка

Светодиодные ленты WS8213 очень просты в подключении. Вам просто нужно достаточно энергии, чтобы управлять всеми этими светодиодами. Для очень коротких лент (не более 10 светодиодов) вы можете даже подключать их напрямую к USB-порту, но для более длинных лент необходимо обеспечить хороший источник питания. В качестве отправной точки я предлагаю использовать вывод Arduino 5V для питания светодиодной ленты, как вы можете видеть на видео выше.

  • Вывод Arduino GND на WS2812 GND
  • Вывод 5V Arduino на 5V WS2812
  • Вывод 6 Arduino на вывод WS2812 Ctrl / Din

Если вы хотите использовать больше пикселей, вы должны обеспечить большую мощность. Расчет прост. Каждый светодиод RGB потребляет 60 мА при полном ярком белом. Например, для проезда полосы длиной 2 м с 60 светодиодами на метр вам понадобится источник питания 5 В, обеспечивающий 2 м * 60 пикселей / м * 60 мА =7,2 А.

Подключите блок питания, плату Arduino и полосу WS8212 следующим образом.

  • Подключите GND к Arduino GND и WS2812 GND.
  • Питание 5 В на вывод 5 В Arduino и 5 В WS2812
  • Вывод 6 Arduino на вывод CTRL WS2812

Обратите внимание, что запитывая вывод Arduino 5V, вы подаете питание на Arduino, поэтому вам не нужно подключать его ко второму источнику питания на цилиндрическом разъеме. Будьте очень осторожны при использовании этой схемы подключения, потому что вывод 5V идет в обход регулятора напряжения и защиты. Для получения дополнительной информации вы можете прочитать это руководство.

Подробнее о схеме подключения светодиодных лент WS8212 читайте в этом руководстве.

Настройка Arduino

Подключите плату Arduino к USB-порту вашего ПК. Откройте IDE Arduino и запустите Диспетчер библиотек (Эскиз> Включить библиотеку> Управление библиотеками), чтобы установить последнюю версию библиотеки ALA . .

Откройте RgbStripSerial пример (Файлы> Примеры> ALA> RgbStripSerial) и убедитесь, что NUM_PIXELS постоянное определение соответствует количеству светодиодов в вашей полосе RGB. Помните, что если вы хотите проехать более 10 пикселей, вы должны использовать улучшенную схему подключения.

Теперь вы можете загрузить эскиз на свою доску, нажав Ctrl + U из Arduino IDE или выбрав Загрузить действие в меню эскиза. Если у вас возникли проблемы с загрузкой скетча, проверьте тип платы и порт в меню "Инструменты".

Откройте Serial Monitor Arduino (Инструменты> Serial Monitor), и вы увидите приветственное сообщение, подобное этому.

Установите конец строки «Newline» в правом нижнем углу и убедитесь, что скорость передачи установлена ​​на 9600.

Теперь попробуйте следующие команды (выделены жирным шрифтом) без пробелов:

  • A =101 - включить светодиоды
  • A =251 - запустить анимацию «сканер ларсона».
  • P =2 - устанавливает палитру радуги.
  • A =242 - другая анимация

Круто, правда?

Вы можете поэкспериментировать с различными командами и комбинациями, следуя этой краткой справке:

  • A =[код анимации] - Установить анимацию. Доступные коды анимации перечислены в заголовочном файле AlaLed.h.
  • B =[яркость] - Установите яркость. Он должен быть в диапазоне [0–100].
  • D =[продолжительность] - Установите продолжительность цикла анимации в миллисекундах. Стандартные значения от 500 до 5000.
  • C =[цвет] - Установите цвет. Это должно быть шестнадцатеричное представление RGB, например E8A240.
  • P =[палитра] - Установить палитру. Он должен быть в диапазоне [0–5].

Теперь можно управлять анимацией со смартфона.

Настройка Raspberry PI

В этой части проекта мы настроим плату Rapberry Pi для запуска небольшого веб-сервера для управления светодиодной лентой из веб-браузера. Обратите внимание, что это же приложение может работать на любом ПК с установленным Python 3.

Обязательным условием является то, что ваш Raspberry PI уже настроен и работает под управлением последней версии Raspbian OS (я тестировал ее с помощью Stretch) и подключен к Интернету.

Сначала нам нужно установить несколько библиотек для Python 3 с помощью следующей команды:

  sudo pip3 установить pyserial flask  

Создайте домашний каталог для своего проекта:

  mkdir / home / pi / AlaWebcd / home / pi / AlaWeb  

Загрузите репозиторий AlaWeb git в каталог LightStrip и извлеките его.

  wget https://github.com/bportaluri/AlaWeb/archive/master.zipunzip master.zip  

Все программное обеспечение готово и настроено. Подключите порт USB Arduino к Raspberry PI. Приложение AlaWeb, которое вы только что скачали, будет взаимодействовать с платой Arduino через последовательное соединение USB.

  cd AlaWeb-mastersudo python3 AlaWeb.py  

Приложение AlaWeb выведет список всех последовательных портов USB и попытается автоматически обнаружить Arduino. Если цикл продолжает повторяться, прервите выполнение и попробуйте передать имя порта следующим образом (при необходимости заменив идентификатор порта):

  sudo python3 AlaWeb.py / dev / ttyACM0  

Если все в порядке, вы должны увидеть что-то вроде этого.

Откройте веб-браузер и подключитесь к отображаемому URL-адресу. Вы получите веб-страницу с кнопками, позволяющими управлять светодиодной лентой из веб-браузера.

Наслаждайтесь!

Код

AlaWeb
AlaWeb - это веб-сервер tini, написанный на Python и Flask для управления анимацией из веб-браузера. Https://github.com/bportaluri/AlaWeb
ALA
Arduino Light Animation (ALA) - это библиотека для плат Arduino, которая упрощает разработку световой анимации с использованием светодиодов и светодиодных лент. Посетите эту страницу для получения дополнительных сведений:http://yaab-arduino.blogspot.it/p/ala.htmlhttps://github.com/bportaluri/ALA

Схема


Производственный процесс

  1. Создайте пожарный извещатель за считанные минуты с помощью Samsung SAMIIO, Arduino UNO и Raspberry Pi
  2. Аэропоника с Raspberry Pi и датчиком влажности
  3. Создание роботов с Raspberry Pi и Python
  4. Создайте своего робота для видеостриминга, управляемого через Интернет, с помощью Arduino и Raspberry Pi
  5. Робот Raspberry Pi с веб-управлением и видео
  6. ЖК-панель с Arduino для симулятора полета
  7. Переключатель / светодиодная панель с Arduino для FS2020
  8. Arduino с Bluetooth для управления светодиодом!
  9. Четвероногий Arduino
  10. Управление серводвигателем с помощью Arduino и MPU6050