В данной статье мы изучим управление RGB-светодиодом с платы Raspberry Pi Pico с помощью кода на MicroPython. Мы будем управлять тремя основными цветами RGB-светодиода для случайного отображения различной яркости, чтобы реализовать красочный световой эффект.
Ранее на нашем сайте мы рассматривали следующие проекты с использованием RGB-светодиодов:
- подключение трехцветного светодиода к Arduino Uno;
- цветомузыка с использованием Arduino, трехцветного светодиода и фоторезисторов;
- управление трехцветным светодиодом по Wi-Fi с помощью Arduino Uno;
- изменяющее цвет при прикосновении растение с использованием Arduino и трехцветного светодиода.
Необходимые компоненты
- Плата Raspberry Pi Pico (купить на AliExpress).
- Трехцветный светодиод с общим катодом (Common cathode RGB LED) (купить на AliExpress).
- USB-кабель.
- Макетная плата.
- Соединительные провода/перемычки.
Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158
RGB-светодиод
Буквы R, G и B в RGB светодиоде обозначают красный, зеленый и синий цвета соответственно. Теоретически, вы можете использовать некоторые комбинации этих трех цветов для создания любого цвета, а через входное напряжение ШИМ можно регулировать интенсивность трех основных цветов (красный/зеленый/синий), чтобы достичь эффекта смешивания всех цветов.
Схема проекта
Мы используем здесь модуль RGB LED для взаимодействия с платой Raspberry Pi Pico. Если вы хотите использовать только RGB-светодиод, то используйте резистор 220 Ом с каждым контактом R, G и B.
Схема подключения RGB-светодиода к плате Raspberry Pi Pico представлена на следующем рисунке.
Подключите контакты R, G и B светодиода RGB к контактам Raspberry Pi Pico GP2, GP3 и GP4 соответственно. Подключите контакт GND светодиода RGB к контакту GND Pico.
Код программы на MicroPython
Следующий код будет моделировать каждый светодиод и с помощью функции ШИМ случайным образом генерировать яркость каждого светодиода.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
from machine import Pin,PWM import utime import random Led_R = PWM(Pin(2)) Led_G = PWM(Pin(3)) Led_B = PWM(Pin(4)) # Define the frequency Led_R.freq(2000) Led_G.freq(2000) Led_B.freq(2000) if __name__ == "__main__": while True: # range of random numbers R=random.randint(0,65535) G=random.randint(0,65535) B=random.randint(0,65535) print(R,G,B) Led_R.duty_u16(R) Led_G.duty_u16(G) Led_B.duty_u16(B) utime.sleep_ms(100) |
Скопируйте приведенный выше код MicroPython в редактор Thonny и запустите скрипт.
Вы сможете увидеть случайные изменения цвета в модуле RGB.