Как подключить RGB-светодиод к Arduino. Какие бывают виды RGB-светодиодов. Как управлять цветом RGB-светодиода с помощью Arduino. Какие интересные проекты можно сделать с RGB-светодиодом и Arduino.
Что такое RGB-светодиод и как он устроен
RGB-светодиод — это светоизлучающий диод, способный излучать свет разных цветов. Название RGB происходит от английских слов Red (красный), Green (зеленый) и Blue (синий). В корпусе RGB-светодиода находятся три отдельных кристалла — красный, зеленый и синий. Изменяя яркость свечения каждого из кристаллов, можно получить любой цвет видимого спектра.
Основные характеристики RGB-светодиода:
- Три независимых светодиодных кристалла в одном корпусе
- Возможность получения любого цвета путем смешивания базовых цветов
- 4 вывода — общий и по одному на каждый цвет
- Низкое энергопотребление
- Долгий срок службы — до 50 000 часов
Виды RGB-светодиодов
Существует несколько основных видов RGB-светодиодов:
По типу корпуса:
- В стандартном круглом корпусе
- SMD-светодиоды для поверхностного монтажа
- Мощные светодиоды в корпусе типа Emitter
- Светодиоды в корпусе «Пиранья»
По типу соединения кристаллов:
- С общим катодом
- С общим анодом
- С независимым подключением каждого кристалла
Выбор конкретного типа RGB-светодиода зависит от задач проекта и способа управления.
Как подключить RGB-светодиод к Arduino
Подключение RGB-светодиода к Arduino выполняется следующим образом:
- Общий вывод светодиода подключается к GND Arduino
- Выводы R, G и B подключаются к цифровым пинам Arduino через резисторы 220-330 Ом
- Для питания мощных RGB-светодиодов используется внешний источник питания
Пример схемы подключения RGB-светодиода с общим катодом к Arduino:
- Катод (общий вывод) — GND
- Красный анод — пин 9
- Зеленый анод — пин 10
- Синий анод — пин 11
Не забудьте подключить токоограничивающие резисторы между пинами Arduino и анодами светодиода!
Управление цветом RGB-светодиода с помощью Arduino
Для управления цветом RGB-светодиода с Arduino используется широтно-импульсная модуляция (ШИМ). Изменяя скважность ШИМ-сигнала на каждом из пинов, можно регулировать яркость свечения соответствующего кристалла.
Основные функции для управления RGB-светодиодом:
- analogWrite(pin, value) — установка яркости от 0 до 255
- digitalWrite(pin, HIGH/LOW) — включение/выключение
Пример кода для управления цветом:
int redPin = 9; int greenPin = 10; int bluePin = 11; void setup() { pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT); } void loop() { // Красный analogWrite(redPin, 255); analogWrite(greenPin, 0); analogWrite(bluePin, 0); delay(1000); // Зеленый analogWrite(redPin, 0); analogWrite(greenPin, 255); analogWrite(bluePin, 0); delay(1000); // Синий analogWrite(redPin, 0); analogWrite(greenPin, 0); analogWrite(bluePin, 255); delay(1000); }
Интересные проекты с RGB-светодиодом и Arduino
RGB-светодиоды в сочетании с Arduino открывают широкие возможности для творчества. Вот несколько интересных идей проектов:
- Цветомузыка — светодиод меняет цвет в такт музыке
- Ночник с плавной сменой цветов
- RGB-подсветка для аквариума
- Световые эффекты для моделей и макетов
- Индикатор погоды — цвет меняется в зависимости от прогноза
Для более сложных проектов можно использовать адресные RGB-светодиоды или светодиодные ленты, которыми также легко управлять с помощью Arduino.
Использование библиотеки FastLED для управления RGB-светодиодами
Библиотека FastLED значительно упрощает работу с RGB-светодиодами и светодиодными лентами. Она предоставляет удобные функции для управления цветом и создания световых эффектов.
Основные преимущества FastLED:
- Поддержка различных типов светодиодов
- Удобные функции для задания цвета
- Готовые световые эффекты
- Оптимизированный код для быстрой работы
Пример использования FastLED для управления RGB-светодиодом:
#include <FastLED.h>
#define NUM_LEDS 1
#define DATA_PIN 6
CRGB leds[NUM_LEDS];
void setup() {
FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);
}
void loop() {
leds[0] = CRGB::Red;
FastLED.show();
delay(500);
leds[0] = CRGB::Green;
FastLED.show();
delay(500);
leds[0] = CRGB::Blue;
FastLED.show();
delay(500);
}
Особенности работы с мощными RGB-светодиодами
При работе с мощными RGB-светодиодами (1 Вт и более) необходимо учитывать некоторые особенности:
- Требуется внешний источник питания
- Необходимо использовать драйверы тока для каждого канала
- Важно обеспечить эффективный теплоотвод
- Нужно правильно рассчитать токоограничивающие резисторы
Для управления мощными RGB-светодиодами с Arduino часто используются транзисторные ключи или специализированные драйверы. Это позволяет безопасно коммутировать большие токи, необходимые для работы мощных светодиодов.
Создание пользовательского интерфейса для управления RGB-светодиодом
Для удобного управления RGB-светодиодом можно создать пользовательский интерфейс. Это может быть как аппаратный интерфейс с кнопками и потенциометрами, так и программный интерфейс на компьютере или смартфоне.
Варианты реализации пользовательского интерфейса:
- Управление с помощью потенциометров для каждого цвета
- Использование сенсорного TFT-экрана для Arduino
- Создание веб-интерфейса с использованием ESP8266 или ESP32
- Разработка мобильного приложения для управления по Bluetooth
Пример простого интерфейса с потенциометрами:
int redPin = 9;
int greenPin = 10;
int bluePin = 11;
int redPotPin = A0;
int greenPotPin = A1;
int bluePotPin = A2;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop() {
int redValue = analogRead(redPotPin) / 4;
int greenValue = analogRead(greenPotPin) / 4;
int blueValue = analogRead(bluePotPin) / 4;
analogWrite(redPin, redValue);
analogWrite(greenPin, greenValue);
analogWrite(bluePin, blueValue);
}
Такой интерфейс позволяет плавно регулировать яркость каждого цвета и создавать любые цветовые комбинации.
Устройство, виды и подключение RGB-светодиодов
Обычные светодиоды занимают лидирующие позиции в современных системах освещения различного назначения. Не менее популярны сегодня и многоцветные RGB-устройства. Окрашенный в различные оттенки свет идеально подходит для декоративного оформления архитектурных элементов, художественной подсветки предметов ландшафта и интерьера. Благодаря возможности подключения RGB-светодиодов к различным приборам управления и объединения в группы больших масштабов с их помощью создают эффектные световые сценарии и не менее впечатляющие движущиеся изображения.
Что такое RGB-светодиод?
Устройство представляет собой полноцветный LED-элемент, способный воспроизводить весь спектр оттенков радуги. В отличие от обычных светодиодов, он имеет три независимых источника света, излучающих свечение трех базовых цветов — красный (Red), зеленый (Green) и синий (Blue).
Характеристика RGB-светодиода
Функционирование устройства основано на оптическом эффекте создания разных оттенков методом управляемого смешивания 2-3 основных цветов. Комбинирование возможно в разном порядке и соотношении. Для создания нужного оттенка применяется изменение яркости каждого отдельного кристалла. Используя базовые характеристики RGB-светодиодов, можно создавать интересные световые эффекты со смешиванием цветов, поочередным включением отдельных проводников и сменой оттенков в нужной последовательности. Когда все 3 полупроводника работают на полную мощность, диод излучает белый свет.
Как устроены многоцветные светодиоды
RGB LED модули имеют характерную конструкцию — три цветных диода, установленные на одной матрице и покрытые единой оптической линзой. В качестве базы используется гибкая лента или жесткая матрица с трехслойной структурой. Каждый кристалл имеет отдельное подключение к источнику питания. Соответственно, RGB-светодиод имеет 4 контакта — общий и по одному на полупроводник.
Принцип работы
Такие устройства создаются и функционируют по технологии COB. Они имеют несколько одинаковых p-n-переходов. При подаче напряжения на один кристалл в результате рекомбинации зарядов происходит свечение определенного цвета. При одновременном включении 2-3 элементов на определенной мощности появляется вторичное свечение люминофора с формированием различных оттенков. Так, при парном включении красного и зеленого кристалла RGB-светодиод даст желтый свет. Одновременная активация синего и зеленого позволит получить бирюзовый оттенок.
Виды
RGB-светодиоды выпускаются в различных вариантах исполнения, что позволяет подобрать оптимальное устройство для различных целей. Прибор может оснащаться прозрачной или матовой линзой. Также они эти устройства имеют различные исполнения корпусов — стандартный круглый, модель повышенной мощности Emitter и модуль формата «Пиранья».
Главная классификация RGB-светодиодов осуществляется по типу соединения кристаллов внутри:
- с общим катодом (CA) — управление осуществляется подачей сигнала положительной полярности на анод;
- с общим анодом (CC) — изменение режимов работы выполняется методом подачи отрицательного импульса на катод;
- с независимыми элементами — каждый кристалл имеет собственную пару контактов (всего 6 выводов), подходит для коммутации различными способами.
RGBW-светодиоды
Создать чистое белое свечение с помощью стандартного трехцветного модуля достаточно сложно. Для этого нужна точная балансировка питания каждого отдельного кристалла. И даже при успешной настройке цвет получается тусклым. Чтобы упростить процесс создания беловой подсветки, были созданы четырехцветные светодиоды — RGBW. Помимо трех элементов базовых цветов они имеют дополнительный белый чип (RGB + White). Его наличие существенно увеличивает качество цветопередачи, расширяет палитру воспроизводимых оттенков и снижает нагрузку на контроллер.
Сферы применения
Многоцветные светодиоды активно используются для создания оригинального светового дизайна объектов и декоративной подсветки различных элементов. Применяя ленты и другие устройства с RGB-модулями, можно создавать интересные световые эффекты для различных целей:
- оформление рекламных конструкций и объектов;
- визуальные спецэффекты в ходе массовых мероприятиях;
- украшение фасадов зданий и входных групп;
- декоративная подсветка фонтанов, мостов и других сооружений;
- дизайнерское оформление жилых интерьеров.
Как управляют RGB-светодиодами
Данный тип устройств отличается сложностью монтажа. Для питания RGB-светодиодов необходимо постоянное напряжение 12В или 24В. Прямое подключение к сети 220В не допускается!
Подключение
Чтобы использовать все возможности многоцветного светодиодного модуля, его присоединяют к контроллеру. Например, универсальному блоку Arduino. Схема подключения RGB-диода зависит от типа соединения его кристаллов:
- Общий вывод модуля с независимыми элементами соединяют с контактом «Gnd», а остальные три подключаются к соответствующим точкам.
- Модули с общим анодом присоединяются к отрицательному контакту «Gnd», который находится в одном ряду с катодами.
- Приборы с общим катодом соединяются с положительным контактом «Gnd», который располагается в противоположном ряду.
При этом во всех случаях каждый контакт RGB-светодиода должен иметь токоограничивающий резистор. Прямая пайка категорически недопустима.
Как изменяется цвет свечения
В обычном режиме RGB-светодиод создает только статичное свечение. Однако наиболее эффектно многоцветная подсветка выглядит именно в динамичном режиме. Возможность удобного управления цветами и сценариями обеспечивает микроконтроллер Arduino. Он меняет яркость свечения кристаллов методом широтно-импульсной модуляции (ШИМ). Прибор обеспечивает автоматическое воспроизведение сценариев, а их настройка и активация осуществляется пользователем вручную с помощь пульта.
Также для управления RGB-светодиодом могут использоваться другие способы — система встроенных драйверов или специальные схемы на основе транзисторов.
Плюсы и минусы светодиодов RGB
Главным недостатком трехцветных светодиодов считается отсутствие возможности создавать качественный белый свет. Это накладывает существенные ограничения для использования RGB в роли основного источника освещения. Однако этот минус нивелируется наличием на рынке четырехцветных модулей RGBW с дополнительным белым чипом.
К достоинствам многоцветных светодиодов можно отнести все преимущества LED-устройств:
- доступная стоимость;
- минимальное энергопотребление;
- продолжительный срок службы;
- экологичность и пожаробезопасность;
- высокое качество излучаемого света.
Срок службы
RGB-светодиод функционирует до выхода из строя хотя бы одного элемента. При этом заявленный производителями срок службы для всех трех чипов примерно одинаков — около 30 000 часов. Это соответствует примерно 3-4 годам. Официальная гарантия многих брендов ограничивается сроком до 15 000 часов. Фактическая продолжительность службы при этом может существенно отличаться от указанных цифр в зависимости от условий эксплуатации.
RGB светодиод
Появление многоцветных RGB–светодиодов связано с технологическими достижениями в области микроминиатюризации светодиодных кристаллов и серьезным запросом рекламного рынка. Название RGB связано с первыми буквами трех цветов в английском алфавите: R – красный, G – зеленый, B – синий.
Главной особенностью RGB–светодиодов выступает оптический принцип формирования любого известного цвета с помощью трех базовых цветов. Адресное управление каждым цветом дает возможность получать разнообразные цветовые картины, а программный способ управления свечением светодиодных кристаллов облегчает автоматизацию световых решений.
Содержание
- 1 Устройство и сферы применения
- 2 Разновидности
- 3 Схемы расположения выводов (распиновка)
- 4 Подключение
Устройство и сферы применения
Конструктивно RGB–светодиоды представляют собой три светодиодных кристалла с одной оптической линзой, расположенные в одном корпусе. Управление цветом происходит с помощью подачи электрических сигналов на выводы каждого светодиодного кристалла, а сочетание излучений всех трех светодиодов позволяет регулировать итоговый цвет. Для примера, ниже представлен самый популярный RGB–светодиод SMD 5050.
Сферы применения RGB светодиодов напрямую связаны с развитием рынка рекламы и развлекательных мероприятий. Также готовые RGB–светильники и ленты применяются в области светового оформления архитектурных и дизайнерских решений — ночная подсветка зданий или фонтанов, интерьерный свет, индикаторный системы автомобилей и т.д.
Разновидности
Разнообразие сфер применения многоцветных светодиодных источников света определяет основные виды внешнего оформления RGB–светодиодов:
- изделия небольшой мощности выпускаются в стандартных круглых корпусах со сферической линзой и выводами под обычную пайку;
- маломощные RGB–светодиоды в SMD-корпусах поверхностного монтажа широко применяются в светодиодных лентах или полноцветных светодиодных экранах большой площади;
- в корпусах типа Emitter выпускают мощные RGB–источники света с независимым управление каждым светодиодным кристаллом;
- сверх яркие светодиоды в корпусах Пиранья не требуют теплоотвода и легко монтируются на печатные платы.
Для упрощения систем управления светом в корпуса некоторых серий многоцветных LED–источников света вмонтированы управляющие микросхемы.
Схемы расположения выводов (распиновка)
Несколько стандартных схем управления определяют структуру внешних выводов RGB–светодиодов и их соединение внутри корпуса. Существует три основных схемы распиновки, которые соблюдаются на большинстве выпускаемых изделий:
- В схеме с общим катодом для управления используется три независимых вывода анода, а катодные выводы LED-кристаллов соединены между собой;
- Распиновка с общим анодом управляется отрицательными импульсами на катодные выводы, а вместе соединены уже анодные электроды светодиодных кристаллов;
- Независимая схема соединения имеет шесть выводов по числу LED кристаллов, соединений внутри корпуса не производится.
Единого стандарта на распиновку не существует, конкретный тип расположения внешних выводов применяют в зависимости от поставленных задач.
При отсутствии документов на светодиодное изделие тип внешних выводов легко определить с помощью мультиметра. В режиме прозвонки светодиод будет светиться (мощные светодиоды очень слабо), а мультиметр издавать звук соединения, если красный щуп мультиметра подсоединен к аноду светодиодного кристалла, а черный к его катоду. В случае обратного подключения никаких видимых и слышимых эффектов просто не будет.
Подключение
Простейший способ подключения и управления режимами работы RGB–светодиодов реализуется с помощью стандартных микроконтроллеров Arduino. Общий вывод подключается к единой шине микроконтроллера, а управляющие сигналы подаются на выводы LED–кристаллов через ограничительные резисторы.
Управление режимами свечения светодиодных кристаллов происходит с помощью широтной-импульсной модуляции, где скважность импульсов определяет силу света. Программирование ШИМ–модулятора определяет итоговый цвет всего прибора или циклические режимы работы каждого цвета.
Также для управления работой многоцветных светодиодов используют специализированные драйверы (например CAT4101) или уже готовые RGB–контролеры.
Светодиодная лента Arduino RGB с использованием APA102
В этом проекте светодиодной ленты Arduino RGB мы покажем вам, как подключить светодиодную ленту APA102 к Arduino Uno.
В рамках этого руководства вы узнаете, как подключить светодиодную ленту APA102, чтобы она использовала Arduino Uno в качестве контроллера и получала питание от внешнего адаптера.
В нашем руководстве мы используем внешний адаптер питания, так как слишком большой ток от Arduino может повредить плату.
Наряду с демонстрацией того, как соединить APA102 и Arduino вместе, мы также покажем вам, как вы можете использовать библиотеку FastLED для управления светодиодной лентой.
Существует множество способов расширить этот проект Arduino. Например, вы можете изменить цвета на полосе для отображения текущей температуры. Используйте что-то вроде датчика температуры DS18B20 с Arduino.
Вы также можете установить светодиодную ленту APA102 с Raspberry Pi. Это идеально, если вы предпочитаете использовать Pi для всех своих проектов.
Оборудование
Для завершения проекта светодиодной ленты APA102 вам потребуется несколько единиц оборудования.
Рекомендуется
Настройка схемы светодиодной ленты Arduino APA102
Подключение схемы светодиодной ленты APA102 к плате Arduino — относительно простой процесс.
Мы включили как письменные инструкции, так и схему, чтобы помочь вам в процессе подключения светодиодной ленты APA102 к Arduino Uno.
- Подключите положительный контакт ( + ) адаптера цилиндра постоянного тока к разъему VCC на APA102
- Подключите отрицательный контакт ( – ) адаптера цилиндра постоянного тока к контакту GND на Arduino и к разъему GND на светодиодной ленте APA102. APA102 до PIN 11 на Arduino
- Провод SDI ( DI ) Соединение APA102 до PIN 13 . если вы запутались в том, где каждое соединение должно быть подключено.
Обратите особое внимание на заземляющий провод, который необходимо подключить от светодиодной ленты APA102 как к разъему ствола, так и к самому Arduino.
В этой схеме мы использовали отдельный источник питания для питания светодиодной ленты APA102, поэтому мы использовали переходник постоянного тока.
Причина использования адаптера питания постоянного тока заключается в том, что Arduino не может поддерживать ток, необходимый для питания более длинной светодиодной ленты. Большое энергопотребление потенциально может повредить Arduino.
Импорт библиотек светодиодной ленты APA102
Для взаимодействия с нашей светодиодной лентой APA102 RGB от Arduino мы будем использовать библиотеку « FastLED ».
Библиотека FastLED предназначена для упрощения взаимодействия со всеми видами светодиодных лент, включая APA102, которую мы используем в этом руководстве.
1. В Arduino IDE нам нужно импортировать библиотеку « FastLED », перейдя по адресу Sketch ( 1. ) -> Включить библиотеку ( 2. ) -> Управление библиотеками ( 3. )
2. В диспетчере библиотек Arduino найдите « fastled » в текстовом поле 1. ). Затем найдите « FastLED by Daniel Garcia » и нажмите кнопку « Install » ( 2. ).
После установки библиотеки « FastLED », вы можете продолжить и нажать « Кнопка «Закрыть » ( 3. ).
Калибровка светодиодной ленты RGB с помощью Arduino
Теперь пришло время написать код для управления нашей светодиодной лентой Arduino RGB.
1. В интерфейсе Arduino IDE начните вводить следующие строки кода.
Мы объясним, что делает каждый раздел кода, чтобы вы поняли, как модифицировать его для своих нужд.
Для начала нам нужно включить заголовочный файл для «
FastLED
” библиотека.Эту библиотеку мы будем использовать для отправки данных на нашу светодиодную ленту APA102. Это значительно упрощает процесс взаимодействия со светодиодными лентами.
Здесь мы определяем несколько констант, на которые мы будем ссылаться в нашем коде.
NUM_LEDS
содержит количество светодиодов, с которыми вы будете иметь дело. Для этого короткого фрагмента нам понадобится всего шесть, так как мы просто хотим откалибровать полосу.DATA_PIN
— это номер контакта, через который библиотека должна выводить свои данные для управления полосой APA102.CLOCK_PIN
содержит номер вывода, который библиотека должна будет использовать для отправки тактового сигнала. Этот контакт необходим для полосы APA102, поскольку она использует интерфейс SPI.Затем мы определяем массив под названием « LEDs », который использует FastLED CRGB в качестве типа данных.
Этот массив будет контролироваться библиотекой FastLED, чтобы знать, какие светодиоды должны светиться и какого цвета они должны быть.
Эта функция « setup() » запускается при запуске устройства Arduino.
Начнем с использования функции «
delay()
». Мы используем эту функцию, чтобы дать вам возможность перепрограммировать Arduino, если что-то пойдет не так.Далее мы используем функцию библиотеки FastLED «
addLeds<>()
». Эту функцию мы используем для настройки библиотеки для работы с нашей светодиодной лентой APA102.В эту функцию мы передаем номер модели ( APA102 ) светодиодной ленты, наши константы
DATA_PIN
иCLOCK_PIN
вместе с нашим порядком цветов, который на данный момент равен RGB .Мы также ссылаемся на созданный нами массив «
LEDS
» и на нашNUM_LEDS
. Библиотека будет автоматически считывать данные из нашего массива, когда мы вызываем функцию «show()
».Эта функция «
loop()
» постоянно автоматически запускается Arduino после завершения работы функции «setup()
».В этом цикле мы определяем значение для каждого пятна в нашем массиве «
LEDS
».Загорятся первые 6 светодиодов на нашей полосе и в конечном итоге они должны отображаться в следующем порядке; 1 красный , 2 зеленый и 3 синий . Мы форматируем цвет для каждого светодиода с помощью библиотеки «
FastLED
» «CRGB()
».После того, как мы установили каждое значение, мы используем функцию библиотеки FastLED «
show()
», чтобы передать новую цветовую матрицу на светодиодную ленту APA102.Наконец, чтобы закончить цикл, мы задержим сценарий на 1 секунду.
2. Окончательная версия скрипта должна выглядеть так, как показано ниже.
3. Теперь нам нужно передать этот код в Arduino. Вы можете сделать это, сначала нажав кнопку « Verify » ( 1. ), затем нажав кнопку « Upload » ( 2. ).
4. После ввода кода в Arduino светодиодная лента APA102 RGB должна загореться. Запишите порядок цветов, которые теперь отображаются на светодиодной ленте. Это должен быть красный, зеленый и синий.
Если порядок цветов правильный, вы можете перейти к следующему разделу.
Изменение порядка цветов
Если порядок цветов неправильный, запишите его. Например, если он отображается как синий, зеленый и красный, вам необходимо отметить порядок цветов BGR .
В коде необходимо изменить строку «
LEDS.addLeds
».Измените цветовую последовательность «
RGB
», определенную на новую, которую вы только что разработали. В этом примере нам нужно переключить значение на «БГР
».Измененная строка должна выглядеть примерно так, как показано ниже.
5. После внесения изменений проверьте и снова загрузите код в Arduino.
Если все работает правильно, цвета на светодиодной ленте теперь должны отображаться в правильном порядке.
Это все, что у меня есть для этой установки светодиодной ленты Arduino, поэтому я надеюсь, что теперь у вас все работает. У нас есть много других отличных проектов Arduino, которые помогут вам настроить датчики и другие устройства. Идеально, если вы хотите немного расширить этот урок.
Если вы хотите оставить отзыв, совет или что-то еще, не стесняйтесь оставлять комментарии ниже.
Часть 1 — RGB-светодиоды и кнопки — dotLib Creative Technology
+ Подсказка 1
Мы хотим использовать random() для управления номером ledPin, он больше не будет постоянным (неизменным) числом, поэтому нам нужно удалить «const» спереди, где мы определяем наши контакты и переменные в верхней части кода. Обратите внимание на справочный пример использования random(), включая создание переменной для хранения числа над кодом.
+ Подсказка 2
Нам нужно использовать случайное число, которое мы создали, чтобы выбрать один из наших контактов, например: если наше случайное число равно 0, выберите ledPin 10.
+ Подсказка 3
Когда мы удерживаем Кнопка будет продолжать создавать случайные числа и заставит светодиод загореться всеми цветами и стать белым, поэтому нам нужно создать флаг, чтобы проверить, действительно ли нам нужно новое случайное число для нашей переменной ledPin или следует придерживаться того же самого. Это может быть просто логическая переменная, которая принимает значение true, если нам нужно новое случайное число (например, когда кнопка была отпущена), или значение false, когда кнопка остается нажатой.
+ Решение
Вот способ использования вложенного оператора if для выбора правильного контакта, вы также можете использовать случай переключения, если хотите.