LESSON 006
Arduino でフルカラーLEDを実行させる。
〇 フルカラーLEDには2種類あります。
・RGBフルカラーLED (アノードコモン・カソードコモン)
・マイコン内蔵RGBLED
今回は RGBフルカラーLED(カソードコモン)で実験します。
※ コモン電極( Common electrode 、共通)
〇 並列にLEDを配置しデジタル入力/出力ピン側から出力信号を出し共通のGNDに行くタイプのフルカラーLEDです。
〇 使用したフルカラーLEDのピンは 1 青 ,2 緑 ,3 赤 です。
配線図
GPIO 5 → 抵抗-フルカラーLED 3 青
GPIO 3 → 抵抗-フルカラーLED 1 赤
GPIO 6 → 抵抗-フルカラーLED 2 緑
GPIO 9 → LED 赤
GPIO 10 → LED 緑
GPIO 11 → LED 青
GPIO GND → -
GPIO 5 → 抵抗-フルカラーLED 3 青
GPIO 3 → 抵抗-フルカラーLED 1 赤
GPIO 6 → 抵抗-フルカラーLED 2 緑
GPIO 9 → LED 赤
GPIO 10 → LED 緑
GPIO 11 → LED 青
GPIO GND → -
const int LED_R=5 ;
const int LED_B=3 ;
const int LED_G=6 ;
const int LED_R1=9 ;
const int LED_G1=10 ;
const int LED_B1=11 ;
int led;
void setup() {
pinMode( LED_R, OUTPUT );
pinMode( LED_G, OUTPUT );
pinMode( LED_B, OUTPUT );
pinMode( LED_R1, OUTPUT );
pinMode( LED_G1, OUTPUT );
pinMode( LED_B1, OUTPUT );
}
void loop() {
digitalWrite( LED_R, HIGH );
digitalWrite( LED_R1, HIGH );
delay(1000);
digitalWrite( LED_R, LOW );
digitalWrite( LED_R1, LOW );
delay(1000);
digitalWrite( LED_G, HIGH );
digitalWrite( LED_G1, HIGH );
delay(1000);
digitalWrite( LED_G, LOW );
digitalWrite( LED_G1, LOW );
delay(1000);
digitalWrite( LED_B, HIGH );
digitalWrite( LED_B1, HIGH );
delay(1000);
digitalWrite( LED_B, LOW );
digitalWrite( LED_B1, LOW );
delay(1000);
digitalWrite( LED_R,HIGH );
digitalWrite( LED_G,HIGH );
digitalWrite( LED_B,HIGH);
digitalWrite( LED_R1,HIGH );
digitalWrite( LED_G1,HIGH );
digitalWrite( LED_B1,HIGH);
delay(5000);
digitalWrite( LED_R, LOW );
digitalWrite( LED_G, LOW );
digitalWrite( LED_B, LOW );
digitalWrite( LED_R1, LOW );
digitalWrite( LED_G1, LOW );
digitalWrite( LED_B1, LOW );
delay(500);
}
○ フルカラーLED と LED RGBの三色を点滅させて、白色になることがわかる実験を行いました。
まとめ
〇 PWM制御を用いる事でフルカラーを出力することが出来ます。
〇 昔はRGBの電球を可変抵抗で調光しフルカラーの実験をしましたが、今は簡単に行えます。
〇 PWM制御は 0~255 の10進数
カラーコードは 0~FF の16進数になり
カラーコード表の16進数の値から10進数に変換する実習にも使えますよね。
○ Arduino を 学ぶ上で書籍や先行されているWebpageを参考に作っていますが、私なりに噛み砕いて書いているつもりですが、判らない点がありましたら御連絡下さい。
リンク