Bugün sizlerle beraber buton kontrollü RGB LED uygulaması yapacağız.
Gerekli malzemeler:
- Arduino UNO
- Breadboard
- 1 adet ortak anot veya ortak katot RGB LED
- 3 adet 220 Ω direnç
- 3 adet push buton
- İki ucu erkek jumper kablo
3 adet butonumuz RBG LED’in kırmızı, yeşil ve mavi renklerinin parlaklıklarını kontrol edecek. Bu şekilde farklı renkleri her seferinde kodu değiştirmeden elde edebileceğiz.

//nedrinbarkinoren.com
int kirmiziLEDPin = 11;
int yesilLEDPin = 10;
int maviLEDPin = 9;
int kirmiziSwitchPin = 7;
int yesilSwitchPin = 6;
int maviSwitchPin = 5;
int kirmizi = 0;
int mavi = 0;
int yesil = 0;
void setup()
{
pinMode(kirmiziLEDPin, OUTPUT);
pinMode(yesilLEDPin, OUTPUT);
pinMode(maviLEDPin, OUTPUT);
pinMode(kirmiziSwitchPin, INPUT_PULLUP);
pinMode(yesilSwitchPin, INPUT_PULLUP);
pinMode(maviSwitchPin, INPUT_PULLUP);
}
void loop()
{
if (digitalRead(kirmiziSwitchPin) == LOW)
{
kirmizi ++;
if (kirmizi > 255) {
kirmizi = 0;
}
}
if (digitalRead(yesilSwitchPin) == LOW)
{
yesil ++;
if (yesil > 255) {
yesil = 0;
}
}
if (digitalRead(maviSwitchPin) == LOW)
{
mavi ++;
if (mavi > 255) {
mavi = 0;
}
}
renkAyarla(kirmizi, yesil, mavi);
delay(10);
}
void renkAyarla(int kirmizi, int yesil, int mavi)
{
kirmizi = 255 - kirmizi; //ortak katot kullanılıyorsa silin
yesil = 255 - yesil; //ortak katot kullanılıyorsa silin
mavi = 255 - mavi; //ortak katot kullanılıyorsa silin
analogWrite(kirmiziLEDPin, kirmizi);
analogWrite(yesilLEDPin, yesil);
analogWrite(maviLEDPin, mavi);
}
Yaptığımız uygulamada, her bir renk için parlaklığı arttıran bir push buton mevcut. Bu butonlara basıldığı sürece o rengin parlaklık değeri artıyor, 255’e ulaştığında ise tekrardan 0’lanıyor.