Elinizdeki RGB şerti ledinizi Arduino ile kontrol etmek istiyorsanız doğru konudasınız.  Şerit ledler, içerdikleri led sayısına göre akım çekerler. Bu yüzden arduino çıkışına direk bağlayamazsınız. Arduino çıkışı 2-3 ledi ancak besleyebilir. Bu yüzden arada bir sürücü devresi kullanmalısınız. Bu devrede mosfet sürücü devresi kullanılıyor. Şekle bakınız: Resme tıklayarak büyütebilirsiniz.

 

arduino devresi

 

Tabii devrede pil kullanıldığına bakmayın. Şerit ledin uzunluğuna göre en azından 12V 1A lik adaptör kullanmalısnız. Şerit ledin bağlantısını renklerine uygun şekilde yapmalısınız. Mosfet için de uygun fiyatlı IRF N kanal mosfet yeterlidir.

 

Arduino Kodu:

 

// Input Pins
const int buttonPin = 2;

// RGB Pins
const int redPin = 5;
const int greenPin = 6;
const int bluePin = 3;

int buttonState = 0; // HIGH / LOW
bool yellow = true; // 1 for yellow, 0 for red

// TODO: Make this actually red and yellow
void toggleColor(bool yellow) {
    if (yellow) {
         analogWrite(redPin, 256);
         analogWrite(greenPin, 256);
         analogWrite(bluePin, 0);
	} else {
         analogWrite(redPin, 256);
         analogWrite(greenPin, 0);
         analogWrite(bluePin, 0);
	}
}

// Runs once when turned on
void setup() {
    // initialize the pushbutton pin as an input:
    pinMode(buttonPin, INPUT);     

    // RGB Pins as output
    pinMode(redPin, OUTPUT);
    pinMode(greenPin, OUTPUT);
    pinMode(bluePin, OUTPUT);
}

// Runs continously
void loop(){
    int r, g, b;
    
    // read the state of the pushbutton value:
    buttonState = digitalRead(buttonPin);
    
    // check if the pushbutton is pressed.
    // if it is, the buttonState is HIGH
	// if it isn't, the buttonState is LOW
    if (buttonState == HIGH) {     
        // BUTTON ON
        yellow = !yellow; // toggle state
		toggleColor(yellow);
    } 
}

 

Kaynak dosyaları:

 

Arduino kodu

Fritzing şekli

 

 

2 YORUMLAR

  1. Merhaba, bu güzel paylaşımın ve desteğin için öncelikle teşekkür etmek isterim. Yaşamış olduğum problemi paylaşmak isterim.
    5 adet 50cm uzunluğunda şerit ledleri birbirine seri bağladım ve ULN2003 üzerinden 7*5 = 35 şerit lede ayrı ayrı bacaklara girerek açma kapama işlemi yaptırıyorum.
    5 adet şerit led 2A çekiyor ve ULN2003’ün desteklediği bacak başına akım 400mA olarak görünmekte fakat ölçümlerimde 540mA akım çekiyor ve buda ledlerin parlaklığını kısıyor.Benim problemimde bu noktada başlıyor.Nasıl bir işlem yapmalıyım ki akımı artırıp parlaklığı sağlayabilirim. Bu konuda ki önerilerinizi sabırsızlıkla bekliyorum.Teşekkürler.

    Not : 35 adet led 7 bacak üzerinden 5’er li gruplar halinde çalışıyor.Ama parlaklıklar 550mA akımla sağlanıyor.