RGB3色フルカラーLEDは「光の3原色」赤、緑、青を組み合わせることで、多彩な色の発光ができるものです。
各色の明るさは各LEDの電流を調整することで変えることができます。
自然な白色は、赤(3):緑(7):青(1)の割合になります。
使用する注意点としては、1パックに3個のLEDが入っているので1個当たりの消費電力は1/3になります。
全体の消費電力が200mwですので、1個あたりは余裕を見て50mw程度になります。
ArduinoにはPWM(Pulse Width Modulation)機能を使って、出力を変えるanalogWriteが用意されています。
analogWriteは 0から255までの256段階を連続的に変化させることができます。
これを使ってLEDの電流を変化させ明るさを変えます。
analogWriteが使えるピンは、デジタル入出力ピンの内DIGITAL(PWM~)の表示がある
D3,D5,D6,D9,D10,D11の6つのピンのみで、今回はD9からD11までを使います。
接続図
スケッチ
/*RGB3色LEDを各色順番に点灯
点灯はフェードイン/フェードアウトで行う
*/
int ledr = 9; //ピン9LED赤を接続
int ledb = 10; //ピン10LED青を接続
int ledg = 11; //ピン11LED緑を接続
void setup () {
}
//セットアップはなし
void loop () {
//色の選択 0 = 赤: 1 = 青: 2 = 緑
for(int j = 0; j <= 2; j++) {
if( j == 0) {
//赤をフェードインで点灯
for(int i = 0; i <= 255; i += 5) {
analogWrite(ledr,i);
delay(30);
}
//赤をフェードアウトで消灯
for(int i = 255; i >= 0; i -= 5) {
analogWrite(ledr,i);
delay(30);
}
//色の選択 0 = 赤: 1 = 青: 2 = 緑
}else if( j == 1) {
//青をフェードインで点灯
for(int i = 0; i <= 255; i += 5) {
analogWrite(ledb,i);
delay(30);
}
//青をフェードアウトで消灯
for(int i = 255; i >= 0; i -= 5) {
analogWrite(ledb,i);
delay(30);
}
} else {
//緑をフェードインで点灯
for(int i = 0; i <= 255; i += 5) {
analogWrite(ledg,i);
delay(30);
}
//をフェードアウトで消灯
for(int i = 255; i >= 0; i -= 5) {
analogWrite(ledg,i);
delay(30);
}
}
}
}
完成ボード
※コメント投稿者のブログIDはブログ作成者のみに通知されます