Все для Arduino в одном месте
Адрес: Павлодар
Телефон: +7 705 336-36-03

whatsapp +7 705 336-36-03

Управление RGB лентой через ULN2003 и Arduino

 

Схема подключения RGB ленты к Arduino через ULN2003

Для подключения светодиодной ленты RGB к Arduino будем использовать сборку Дарлингтона ULN2003 в качестве схемы управления.  Светодиодная лента работает от напряжения 12 В. 

 


//=========================================================================
//                Управление RGB лентой
//         
//=========================================================================
// constants won't change. They're used here to 
// set pin numbers:
const int buttonPin = 7;         // порт кнопки
const int BLUEledPin =  11;      // LED pin
const int REDledPin =  10;      // LED pin
const int GREENledPin =  9;      // LED pin

// variables will change:
int buttonState = 0;         // переменная для хранения статуса кнопки
int color=0;
//=========================================================================
//              SETUP
//=========================================================================
void setup() {
  // Задем порты для цветов ленты:
  pinMode(BLUEledPin, OUTPUT);  
  pinMode(REDledPin, OUTPUT);
  pinMode(GREENledPin, OUTPUT);
  
  // поределеяем порт для кнопки 
  pinMode(buttonPin, INPUT);     
  digitalWrite(buttonPin, HIGH); //Активируем прерывание для кнопки 
}
//=========================================================================
//                         
//=========================================================================
void loop(){
  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);

  // провереяем нажата ли кнопка
  // if it is, the buttonState is HIGH:
  if (buttonState == LOW) {     
    delay(300);
    color++;
    if(color>10)
    {color=0;}
  } 
  
  //Устанавливаем значения цветов для ленты, см. Цветовые коды для HTML 
  switch (color)
  {
    case 0:
      SetColor(255,0,0);
    break;
    case 1:
      SetColor(255,255,0);
    break;
    case 2:
      SetColor(0,0,255);
    break;
    case 3:
      SetColor(128,128,20);
    break;
    case 4:
      SetColor(0,255,255);
    break;
    case 5:
      SetColor(55,100,100);
    break;
    case 6:
      SetColor(0x00,0xA8,0xA9);
    break;
    case 7:
      SetColor(0xCC,0x66,0x66);
    break;
    case 8:
      SetColor(0x12,0xA2,0x7E);
    break;
    case 9:
      SetColor(0xF0,0x80,0x32);
    break;    
    case 10:
      SetColor(0x30,0xFF,0xFF);
    break;    
  }
}
//=========================================================================
//                  функция для установки цвета светодиода на ленте
//=========================================================================
void SetColor(char R,char G,char B)
{
  analogWrite(REDledPin,R);
  analogWrite(GREENledPin,G);
  analogWrite(BLUEledPin,B);  
}
  • Управление RGB лентой через ULN2003 и Arduino