3.Hafta ARDUINO RGB LED PROJESİ | ARDUINO RGB LED PROJECT

TURAN

Administrator
Yönetici
Katılım
16 Eylül 2025
Mesajlar
15
Tepkime puanı
10
Puan
3
Web sitesi
ebubekirbayat.com.tr
/*

Bu program ortak anot bağlantılı RGB LED için yazılmıştır.

Ortak katot bağlantılı RGB LED için program içerisinde

değişiklikler yapılmalıdır.

*/



// LED bağlantılarını tanımlıyoruz.

int rpin = 11;

int gpin = 10;

int bpin = 9;



// Ton değerini tanımlıyoruz.

float h = 0;



// Renk değerlerini tanımlıyoruz.

int r = 0;

int g = 0;

int b = 0;



void setup() {

// Pin modları burada belirtilmeli (Kitapta bu kısım eksik bırakılmış olabilir)

pinMode(rpin, OUTPUT);

pinMode(gpin, OUTPUT);

pinMode(bpin, OUTPUT);

}



void loop() {

// Ton değerini 1 değerine ulaşana kadar her seferinde arttırıyoruz.

h = h + 0.001;



if (h >= 1.0) {

h = 0;

}



h2rgb(h, r, g, b);



// Ortak anot RGB LED kodları

analogWrite(rpin, 255 - r);

analogWrite(gpin, 255 - g);

analogWrite(bpin, 255 - b);



delay(50);

}



void h2rgb(float H, int& R, int& G, int& B) {

int var_i;

float V = 1, S = 1, var_1, var_2, var_3, var_r, var_g, var_b, var_h;



if (S == 0) {

R = V * 255;

G = V * 255;

B = V * 255;

} else {

var_h = H * 6;

if (var_h == 6) var_h = 0;

var_i = int(var_h);

var_1 = V * (1 - S);

var_2 = V * (1 - S * (var_h - var_i));

var_3 = V * (1 - S * (1 - (var_h - var_i)));



if (var_i == 0) {

var_r = V;

var_g = var_3;

var_b = var_1;

} else if (var_i == 1) {

var_r = var_2;

var_g = V;

var_b = var_1;

} else if (var_i == 2) {

var_r = var_1;

var_g = V;

var_b = var_3;

} else if (var_i == 3) {

var_r = var_1;

var_g = var_2;

var_b = V;

} else if (var_i == 4) {

var_r = var_3;

var_g = var_1;

var_b = V;

} else {

var_r = V;

var_g = var_1;

var_b = var_2;

}



R = (var_r) * 255;

G = (var_g) * 255;

B = (var_b) * 255;

}

}
 

Ekli dosyalar

  • Ekran Alıntısı.PNG
    Ekran Alıntısı.PNG
    49,7 KB · Görüntüleme: 0
  • project.zip
    3,9 KB · Görüntüleme: 1
Üst