RGB лента

Под платой расположено 24 RGB светодиода модели WS2812

WS2812 — это три RGB-светодиода и микросхема-драйвер для управления этими светодиодами, собранные в одном SMD корпусе. Корпус каждого светодиода имеет 4 вывода: два вывода данных и два вывода питания. Выводы данных предыдущих светодиодов соединены со входами следующих, создавая цепочку светодиодов, управляемых через один пин микроконтроллера.

В новых роботах в Arduino DUE загружена демонстрационная прошивка работы с лентой. backlight_demo

Если переключатель D29 включен, то RGB-лента начинает работать в демо-режиме. Для отключения демо-режима необходимо выключить переключатель D29 и нажать на кнопку D15 для выключения всех светодиодов. Одновременная работа демо-режима и управления через ROS ленты невозможна.

Работа со светодиодной лентой через ROS

Управление светодиодной лентой возможно через топики /backlight/all [std_msgs/msg/ColorRGBA]

Установить один цвет для всех светодиодов:

# Установить красный цвет всей ленты
ros2 topic pub /backlight/all std_msgs/msg/ColorRGBA 'r: 1.0
g: 0.0
b: 0.0
a: 1.0'

/backlight/array [turtlebro/msg/ColorRGBAArray]

Установить по отдельности цвет каждого светодиода, пример: ~/turtlebro_ws/src/turtlebro/scripts/leds.py

Работа со светодиодной лентой через Arduino

Лента подключена к пину D30 встроенного контроллера Arduino. Число светодиодов — 24. Для управления светодиодами мы рекомендуем использовать библиотеку FastLed.

Пример работы ленты backlight_demo

Управление lifecycle RGB-ленты

Если запущена нода (leds_lifecycle.launch.py) для демонстрации работы светодиодной ленты через ROS и python. Отключить работу демонстрации RGB-ленты можно, используя механизм lifecycle:

# Отключить демонстрацию
ros2 lifecycle set leds_lifecycle deactivate

# Включить демонстрацию
ros2 lifecycle set leds_lifecycle activate

или выключить загрузку ноды leds_lifecycle из запуска в файле turtlebro_ws/src/turtlebro/launch/turtlebro.xml

<!-- Убрать строчку -->
<include file="$(find-pkg-share turtlebro)/launch/leds_lifecycle.launch.py"/>

results matching ""

    No results matching ""