Daha önceki yazımızda Arduino ile RGB led kontrolününün nasıl yapılacağını öğrenmiştik. Bu yazımızda ise potansiyometre ile RGB led kontrolü yapmaya çalışacağız.
Bildiğimiz gibi potansiyometreler 0-1023 arasında analog değerler üretmektedir. Potansiyometreden alınan analog değerler map komutu ile 0-255 arasındaki pwm sinyallerine dönüştürülerek, arduino üzerindeki pwm pinlerine bağlı RGB led pinlerine aktarılarak RGB led kontrol edilebilir. Bu sayede kırmızı, yeşil ve mavi dışında tüm ara renkleri de potansiyometreleri hareket ettirilerek ara renkler elde edilebilmektedir.
Şimdi hep birlikte potansiyometre ile RGB led nasıl kontrol edilir? Devre şemasını ve arduino kodlarını inceleyelim.
Devre şeması incelendiğinde RGB led renk pinleri arduino 3,5,6 numaralı pwm pinlerinde bağlandı. Potansiyometrelerin veri pinleri ise sırayla A0,A1,A2 analog pinlerine bağlandı.
int pGiris = 0; //Potansiyometre A0 'a bağlı int pDeger = 0; //Bu değişken potansometre değerini tutacak, başlangıçta sıfırlıyoruz int kirmizi = 9; int yesil = 10; int mavi = 11; int kDeger = 0; //kirmizi değer int yDeger = 0; // yeşil değer int mDeger = 0; // mavi Değer void setup() { pinMode(kirmizi, OUTPUT); pinMode(yesil, OUTPUT); pinMode(mavi, OUTPUT); } // ana program void loop() { pDeger = analogRead(pGiris); // Potansiyometre değerini okuyoruz if (pDeger < 341) // Potansyometre aralığının en düşük bölümü (0-340) { pDeger = (pDeger * 3) / 4; // 0-255 arasına çekiyoruz kDeger = 256 - pDeger; yDeger = pDeger; mDeger = 1; } else if (pDeger < 682) // Potansiyometre aralığının ortası (341-681) { pDeger = ( (pDeger-341) * 3) / 4; // 0-255 arasına çekiyoruz kDeger = 1; yDeger = 256 - pDeger; mDeger = pDeger; } else { pDeger = ( (pDeger-683) * 3) / 4; // 0-255 arasına çekiyoruz kDeger = pDeger; yDeger = 1; mDeger= 256 - pDeger; } //RGB ledimize değerleri gönderiyoruz analogWrite(kirmizi, kDeger); analogWrite(yesil, yDeger); analogWrite(mavi, mDeger); }Yukarıdaki devre şemasını doğru bir şekilde kurup, arduino kodlarını yüklediğinizde potansiyometreleri çevirerek RGB led renk kontrolünü kolaylıkla gerçekleştirebileceksiniz.
bende sadece mavi yandı
YanıtlaSilYalnız en son kısımda else içerisinde, potansiyometre maksimum 1023 olduğunda 683 çıkartıp *3 /4 yaptığınızda bu nasıl 0-255 arasına daraltılıyor? En son kısımda bir eksiklik var gibi sanki.
YanıtlaSil