RGB светодиод

Подключение rgb светодиода к arduino

RGB светодиод представляет собой 3 светодиода красного, зеленого и синего цвета в одном корпусе. При использовании ШИМ можно получить целую уйму цветов и оттенков.

Различают RGB с общим катодом (common Cathode) и с общим анодом (common Anode). Вот как можно подключить RGB к arduino:

Подключение rgb к arduino

RGB светодиод с общим анодом

Слева на картинке подключение с общим анодом: подключаем анод к напряжению +5В на плате ардуино, а OUT1, OUT2 и OUT3 — к трем пинам ардуины (например, 3, 5 и 6, где есть ШИМ).

Чтобы загорелся красный цвет, необходимо на выходе OUT1 установить логический 0 (LOW). Если нужно зеленный — то LOW выставить на OUT2, если синий — OUT3.

RGB светодиод с общим катодом

Справа на картинке подключение с общим катодом: подключаем катод к GND на плате, выходы OUT1, OUT2 и OUT3 — к пинам 3, 5, 6 платы ардуино. Чтобы загорелся красный цвет, необходимо на выходе OUT1 установить логическую 1 (HIGH).

Подключение RGB светодиода к arduino

Мне попался готовый модуль от китайцев. На платке запаян RGB светодиод с общим катодом и 3 резистора на 1 кОм. Резисторы лучше подобрать самому, поскольку яркость свечения различаются. В принципе, если использовать только 3 цвета, то сойдет и так.

#define RED   11            // "Красный"  анод
#define GREEN 12            // "Зеленный" анод
#define BLUE  13            // "Синий" анод

void setup() {
  /* Настройка пинов на выход */
  pinMode(RED, OUTPUT);
  pinMode(GREEN, OUTPUT);
  pinMode(BLUE, OUTPUT);
}

void loop() {
  /* Красный */
  digitalWrite(RED, HIGH);
  digitalWrite(GREEN, LOW);
  digitalWrite(BLUE, LOW);
  delay(500);
  /* Зеленый */
  digitalWrite(RED, LOW);
  digitalWrite(GREEN, HIGH);
  digitalWrite(BLUE, LOW);
  delay(500);
  /* Синий */
  digitalWrite(RED, LOW);
  digitalWrite(GREEN, LOW);
  digitalWrite(BLUE, HIGH);
  delay(500);
}

Отпаял светодиод и подобрал другие номиналы резисторов. С контакта D9 на красный анод через резистор 130 Ом, с контакта D10 на зеленый через резистор 470 Ом, c контакта D11 через резистор 220 Ом на синий, GND к GND. Загрузил скетч, который принимает 3 числа с последовательного порта и , согласно им, генерирует ШИМ-сигналы.

#define RED   9             // "Красный"  анод
#define GREEN 10            // "Зеленный" анод
#define BLUE  11            // "Синий" анод

void setup() {
  Serial.begin(9600);
  /* Настройка пинов на выход */
  pinMode(RED, OUTPUT);
  pinMode(GREEN, OUTPUT);
  pinMode(BLUE, OUTPUT);
}

void loop() {
  while (Serial.available() > 0) {
    /* Ищет целое число из сериал порта и записывает его в переменную red */
    int red = Serial.parseInt();
    /* Ищет следующее число и записывает его в переменную green */
    int green = Serial.parseInt();
    /* Ищет следующее число и записывает в переменную blue */
    int blue = Serial.parseInt();

    /* Если был переход на новую строку */
    if (Serial.read() == '\n') {
      // Функция constrain ограничивает значение диапазоном от 0 до 255
      /* Для RGB светодиода с общим катодом */
      red =   constrain(red, 0, 255);
      green = constrain(green, 0, 255);
      blue =  constrain(blue, 0, 255);
      /* Для RGB светодиода с общим анодом нужно инвертировать значения*/
      /*
          red = 255 - constrain(red, 0, 255);
          green = 255 - constrain(green, 0, 255);
          blue = 255 - constrain(blue, 0, 255); 
       */
      /* Устанавливаем ШИМ волны, согласно принятым значениям */
      analogWrite(RED, red);
      analogWrite(GREEN, green);
      analogWrite(BLUE, blue);

      /* Выведем 3 числа в последовательный порт в шестнадцатиричном виде */
      Serial.print(red, HEX);
      Serial.print(green, HEX);
      Serial.println(blue, HEX);
    }
  }
}

В монитор порта через пробел необходимо отправить 3 значения от 0 до 255 через пробел. Первое значение относится к красному оттенку, второе — к зеленому, третье — к синему. Коды цветов можно посмотреть, например, здесь.

Управление rgb светодиодом через монитор порта ардуино

Загрузки

Где купить

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии