Код для поиска

Курс Урок 5 из 10: Управление RGB-светодиодом WS2812B с помощью Raspberry Pi Pico

Этот урок является частью: Умный автомобиль Raspberry Pi Pico 4WD

Курс Урок 5 из 10: Управление RGB-светодиодом WS2812B с помощью Raspberry Pi Pico

Этот урок, являющийся частью курса Robojax по Raspberry Pi Pico Smart Car, посвящен управлению светодиодной RGB-лентой (WS2812B) на 4-колесном автомобильном наборе SunFounder. Вы выйдете за рамки простого управления включением/выключением и научитесь смешивать значения красного, зеленого и синего для создания любого цвета, управлять отдельными светодиодами и создавать динамические световые последовательности, такие как эффект «бегущего» света. Этот навык является основополагающим для добавления визуальной обратной связи и индивидуальности вашим робототехническим проектам.

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

  • Пользовательские индикаторы состояния: Используйте разные цвета, чтобы показать состояние вашего робота, например, зеленый для «готов», синий для «работает» и красный для «ошибка».
  • Интерактивные световые эффекты: Создавайте световые узоры в стиле «погони» или «рыцаря дорог» для более динамичного и привлекательного робота.
  • Визуальная обратная связь для датчиков: Программируйте светодиоды на изменение цвета в зависимости от данных датчиков, например, красный при приближении препятствия или синий при следовании по линии.
  • Атмосферное освещение: Установите светодиоды на случайный цвет или определенный оттенок, чтобы создать индивидуальную атмосферу для вашего автомобиля или других проектов.

Аппаратное обеспечение/Компоненты

В этом проекте используются компоненты, входящие в комплект 4-колесного автомобильного набора SunFounder для Raspberry Pi Pico. Ключевым компонентом является сама RGB-светодиодная лента, которой управляет Raspberry Pi Pico.

  • Raspberry Pi Pico
  • 4-колесный автомобильный набор SunFounder (включающий RGB-светодиодную ленту WS2812B)
  • Аккумуляторный блок для автомобиля (для питания светодиодов, как упоминалось в видео)

Руководство по подключению

В видеоуроке не детализируется процесс подключения, так как он является частью предварительно собранной конструкции автомобильного набора. Светодиоды уже подключены к Raspberry Pi Pico. Для индивидуальной настройки обычно необходимо подключить контакт данных ленты WS2812B к GPIO-контакту Pico, а также питание (5 В) и землю (GND). Поскольку в этом уроке используется автомобильный набор, дополнительное подключение не требуется.

Если вы собираете это на макетной плате, вам нужно подключить линию данных вашей светодиодной ленты к GPIO-контакту (например, GP0) и питать ее от внешнего источника 5 В.

Объяснение кода

Урок сосредоточен на использовании предварительно написанных функций из библиотеки автомобильного набора. Основной функцией для управления светом является set_light_color(). Этот метод вызывается на объекте автомобиля и принимает два основных аргумента: идентификационный номер света и список из трех значений, представляющих интенсивность красного, зеленого и синего (RGB).

Вот разбор того, как использовать ключевые функции, продемонстрированные в видео:

  • car.set_light_color(LED_ID, [R, G, B]): Это самый прямой способ управления отдельным светодиодом. LED_ID — это целое число от 0 до 23, а цвет — это список, например, [255, 0, 0] для красного.
  • Вспомогательные функции библиотеки: Библиотека набора предоставляет функции более высокого уровня, такие как set_all_light_color(), set_bottom_left_color() и set_bottom_right_color(), для более легкого управления группами светодиодов.

Чтобы создать пользовательский цвет, вы можете настроить три значения в списке. Например, [255, 255, 0] дает желтый, [0, 255, 255] — голубой, а [255, 0, 255] — розовый или пурпурный. В видео демонстрируется создание этих цветов путем смешивания основных значений RGB.

Для случайных цветов вы можете использовать функцию random.randint(0, 255) для генерации случайных значений для R, G и B, как показано в примере «random». Это присваивает уникальный случайный цвет каждому из 24 светодиодов.

Живой проект/Демонстрация

В видео инструктор демонстрирует концепции вживую. Сначала он показывает, как включить все нижние огни в сплошной зеленый цвет, установив значения RGB на [0, 255, 0]. Затем он меняет цвет на красный, устанавливая [255, 0, 0]. Демонстрация продолжается показом того, как управлять отдельными светодиодами по их идентификационному номеру (0-23) и устанавливать их цвета независимо.

Значительная часть видео посвящена созданию эффекта «бегущего» света. Это делается с помощью цикла for, который итерируется от 1 до 24. На каждой итерации он включает текущий светодиод на заданное время (например, 300 миллисекунд), а затем выключает его на очень короткое время (например, 10 миллисекунд) перед переходом к следующему. Это создает иллюзию движения света вдоль ленты. Инструктор также показывает, как регулировать скорость этого эффекта, изменяя значения задержки.

Наконец, он демонстрирует программу «случайный цвет», которая использует библиотеку random для генерации уникального цвета для каждого из 24 светодиодов при каждом запуске кода, создавая яркий многоцветный дисплей.

Главы

  • [00:00] Введение в RGB-светодиоды и курс Smart Car
  • [02:36] Понимание модели цвета RGB
  • [05:00] Управление светом с помощью функций библиотеки
  • [09:01] Как управлять отдельными светодиодами (0-23)
  • [13:08] Создание эффекта бегущего света
  • [15:32] Генерация случайных цветов для каждого светодиода
Нет кода.

Ресурсы и ссылки

Ресурсов пока нет.

Файлы📁

Нет доступных файлов.