【Arduino】 フルカラーLEDの実験

LESSON 006

  Arduino でフルカラーLEDを実行させる。

〇 フルカラーLEDには2種類あります。
  ・RGBフルカラーLED (アノードコモン・カソードコモン
  ・マイコン内蔵RGBLED
今回は RGBフルカラーLED(カソードコモン)で実験します。
  ※ コモン電極( Common electrode 、共通)

〇 並列にLEDを配置しデジタル入力/出力ピン側から出力信号を出し共通のGNDに行くタイプのフルカラーLEDです。

〇 使用したフルカラーLEDのピンは 1 青 ,2 緑 ,3 赤 です。 

構成部品  マイコンボード  Arduino
      USBケーブル
      LED 赤・緑・青   各1本 
      フルカラーLED     1本
      カーボン抵抗 220Ω 各6個 
      ジャンパーケーブル
      ブレッドボード
配線図

  GPIO 5     →  抵抗-フルカラーLED 3 青 
  GPIO 3       →  抵抗-フルカラーLED 1 赤
  GPIO 6     →  抵抗-フルカラーLED 2 緑
  GPIO 9       →  LED   赤
  GPIO 10     →  LED 緑
  GPIO 11     →  LED 青
  GPIO GND  →  -

スケッチ《 test006 》
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を参考に作っていますが、私なりに噛み砕いて書いているつもりですが、判らない点がありましたら御連絡下さい。

目次