Возможно, один из наиболее распространенные модули в стартовом комплекте Arduino , светодиод RGB позволяет создавать всевозможные цвета с помощью всего четырех контактов Arduino. В этом руководстве демонстрируются два способа использования этого модуля, поэтому читайте дальше, чтобы узнать, насколько хорошо он работает!
Что такое светодиодный модуль RGB?
В светодиодном модуле RGB используется особый тип светодиода, который может излучать три цвета: красный, зеленый и синий. Однако вы можете создать любой цвет, какой только сможете придумать, изменив включенный из них и смешав яркость каждого из них.
Contents
Что такое светодиодный модуль RGB?
.ru/wp-content/uploads/2024/05/rgb-led.jpg" alt="RGB светодиод">Есть два способа освещения светодиодного модуля RGB на любой плате Arduino. Обычный метод — использовать аналоговые контакты Arduino для отправки сигналов ШИМ на модуль. Это позволяет смешивать каждый цвет, обеспечивая полный контроль над светодиодом RGB.
Между тем, другой (цифровой) вариант — использовать контакты 11, 12, 13 и GND, подключив модуль к Arduino, как если бы вы использовали экран. Это экономит место, поскольку не требуются перемычки для каждого контакта, но обеспечивает точный контроль над оттенком и яркостью светодиода. Кроме того, настройка работает только в том случае, если контакты модуля правильно подходят к плате Arduino, например HW-479 , который мы используем в этом руководстве.
Как работают светодиоды RGB
На этом этапе вам может быть интересно, как один светодиодный модуль RGB излучает три цвета. Вы можете быть удивлены, узнав, что светодиод RGB на самом деле представляет собой не просто одиннеобычный светодиод, а три светодиода меньшего размера, заключенные в один светодиод большего размера. Эти мини-светодиоды имеют один и тот же контакт заземления, который должен быть самым длинным из четырех контактов светодиода RGB.
Если у вас есть голый светодиод RGB вместо модуля на коммутационной плате, вы можете сделать что-то похожее на модуль, подключив резисторы к каждому из цветных контактов. Значение сопротивления варьируется в зависимости от производителя, но безопасным вариантом будет 220 Ом на каждую ногу.
Совет : научитесь питание лампочек с помощью Arduino с релейным модулем .
Что вам понадобится
Если вы готовы приступить к работе, вам понадобятся эти предметы, чтобы приступить к реализации проекта.
Оборудование
- Светодиодный модуль RGB HW-479
- Перемычки (при использовании аналогового метода)
- Ардуино
Программное обеспечение
- Arduino IDE или
- Как работают светодиоды RGBormIO для кода Visual Studio
Как использовать светодиодный модуль RGB цифровым методом
Этот метод работает только на платах Arduino с контактом GND рядом с контактом 13. Примерами являются Uno, Duemilanove, Mega и Leonardo. Если у вас неофициальная плата микроконтроллера на базе Arduino, убедитесь, что она использует гнездовые разъемы. Светодиодные модули RGB обычно имеют разъемы типа «папа».
Подготовка кода
- Сначала определите контакты: 11 для синего, 12 для зеленого и 13 для красного.
const int blueLED = 11; const int greenLED = 12; const int redLED = 13;
- В
setup()
определите эти контакты как выходные.
void setup() { pinMode(blueLED, OUTPUT); pinMode(greenLED, OUTPUT); pinMode(redLED, OUTPUT); }
- На
loop()
добавьте питание к одному контакту, приостановите выполнение кода на 1000 миллисекунд (1 секунду), затем включите следующий, пока все контакты не будут запитаны. Наконец, отключите их один за другим.
void loop() { digitalWrite(blueLED, HIGH); delay(1000); digitalWrite(greenLED, HIGH); delay(1000Что вам понадобится> digitalWrite(redLED, HIGH); delay(1000); digitalWrite(blueLED,Оборудование; delay(1000); digitalWrite(greenLED, LOW); delay(Программное обеспечение>; digitalWrite(redLED, LOW); delay(1000); }
Это полная версия кода:
const int blueLED = 11Как использовать светодиодный модуль RGB цифровым методомpan>12; const int redLED = 13; void setup() { pinMode(blueLED, OUTPUT); pinMode(greenLED, OUTPUT); pinMode(redLED, OUTPUT); } void loop() { digitalWrite(blueLED, HIGH);Подготовка кодатовка кода>1000); digitalWrite(greenLED, HIGH); delay(1000); digitalWrite(redLED, HIGH); delay(1000); digitalWrite(blueLED, LOW); delay(1000); digitalWrite(greenLED, LOW); delay(1000); digitalWrite(redLED, LOW); delay(1000); }
Построение схемы
Схема проста. Направьте контакт «-» на светодиодном модуле RGB на контакт GND Arduino. Если вы выровняете его правильно, остальные три контакта должны войти в контакты 13, 12 и 11.
Как заставить это работать
После того как вы загрузите код в Arduino, вы увидите, что цвета светодиода RGB меняются каждую секунду.
Вы можете отредактировать код и заставить его отображать два или все цвета одновременно, повернув их вместе на HIGH
перед функцией delay()
, например:
p>
digitalWrite(redLED, HIGH); digitalWrite(greenLED, HIGH); delay(1000);
Как использовать светодиодный модуль RGB с помощью метода ШИМ
Этот метод обеспечивает более точный контроль по сравнению с предыдущим методом. Цвет светодиода зависит от соотношения рабочих циклов между контактами 9, 10 и 11. Чем больше отношение к одному цвету, тем сильнее он становится в смеси.
Кроме того, увеличение рабочего цикла увеличивает яркость светодиода. Если вы увеличите все рабочие циклы, сохраняя то же соотношение, вы получите очень яркий светодиод RGB.
Подготовка кода
- Определите контакты: 9 для синего, 10 для зеленого и 11 для красного.
const int blueLED = 9; const int greenLED = 10; const int redLED = 11;
- Превратите их в выходные контакты.
void setup() { pinMode(blueLED, OUTPUT); pinMode(greenLED, OUTPUT); pinMode(redLED, OUTPUT); }
- В
loop()
используйте функциюanalogWrite()
вместоdigitalWrite()
для управления рабочими циклами контактов. Процесс аналогичен использование ШИМ для управления серводвигателями с помощью Raspberry Pi , за исключением того, что мы используем C++ вместо Python.
void loop() { analogWrite(greenLED, 25); analogWrite(blueLED, 50); delay(250); analogWrite(greenLED, 50); delay(2Построение схемы
ыpan>; analogWrite(greenLED, 100); delay(250); analogWrite(greenLED, 150); delay(250); analogWrite(greenLED, 125); delay(250); analogWrite(greenLED, 80)Как заставить это работать заставить это работать); analogWrite(greenLED, 40); delay(250); analogWrite(greenLED, 20); delay(250); analogWrite(greenLED, 0); delay(250); }
Построение схемы
С помощью перемычек соедините контакты B, G и R с контактами 9, 10 и 11. Подключите GND или контакт к любому из контактов GND Arduino.
Как заставить это работать
Возможно, вы заметили, что на этот раз мы использовали только два цвета: зеленый и синий. Это сделано для того, чтобы было легче увидеть влияние изменения соотношений на общий цвет светодиода RGB. Светодиод выглядит темно-синим, затем меняет бирюзовый цвет, затем переходит в зеленовато-голубой, а затем снова становится темно-синим.
Кроме того, вы можете объединить этот метод с предыдущим методом, используя контакт 11 в качестве аналогового контакта для управления яркостью синего контакта.
Хотите попробовать еще один интересный проект? Узнайте, как используйте Raspberry Pi, чтобы заставить Arduino Uno мигать .
Часто задаваемые вопросы
Что произойдет, если я добавлю дополнительный резистор в светодиодный модуль RGB?
Модули RGB-светодиодов уже имеют встроенные резисторы. Если вы добавите еще один, вы просто сделаете свой свет тусклее, чем он должен был быть при том же напряжении и токе.
Что заставляет светодиод загораться?
Светодиоды создают свет посредством процесса под названием электролюминесценция — свойства некоторых материалов, которое загорается под воздействием электромагнитного поля. Их изготовлены из полупроводников на основе галлия , которые излучают свет вместо тепла.
Почему светодиоды не загораются при противоположном подключении?
Светодиоды — это диоды, отсюда и название «светоизлучающие диоды». Все диоды пропускают электричество с одной стороны, но не с другой. Их катодная и анодная части обычно изготавливаются из двух разных материалов, которые при сжатии заставляют электроны тратить больше энергии, чтобы двигаться в другую сторону, как автомобиль, едущий по крутому подъему.
Почему в телевизорах используются красные светодиоды?
По сравнению с другими светодиодами, красные светодиоды могут ярко светиться, потребляя меньше энергии по сравнению с другими цветными светодиодами того же размера, что делает их отличным выбором в качестве индикаторных светодиодов, когда производители телевизоров план энергоэффективности используют их в своих продуктах.
Все изображения Теренца Йомара Дела Круза.