Arduino(11) フルカラーLED

ブログランキング・にほんブログ村へ

ArduinoにフルカラーのLEDを接続してみました。

フルカラーLEDとは

使用したLEDは秋月電子で購入したOSTA5131Aと記されたLEDです。このLEDは、LEDのカソード側(マイナス側)が共通となっており、回路図を見ると分かりますが、単純に3色のLEDが1つになった製品です。

ピンは、左からRED、GND、GREEN、BLUE

 

PWM(Pulse Width Modulation)

ArduinoにはPWM(Pulse Width Modulation)の機能が備わっています。
このPWMは指定した割合でHIGHとLOWの間隔を切り替えて出力することが出来る便利な機能です。
1周期内にあるHIGHの時間の割合(これをデューティー比といいます)によって制御する方式です。
LEDの明るさ調整などに使える機能です。デューティー比100%(常にHIGHの状態)ではLEDは100%で点灯し、
デューティー比50%では半分の輝度、0%で消灯するという事になります。
そしてArduinoでは14本あるデジタル入出力ピンのうち『〜』記号がついている
3・5・6・9・10・11番ピンの計6本がPWM出力が出来る端子となっています。

これは、サーボモーターやDCモーターの制御などにも使えます。

回路図

今回のレポートの回路図です。
  

 スケッチ
 
int LED_PIN_R = 9;    
int LED_PIN_G = 10;
int LED_PIN_B = 11;
int WAIT = 5;
 
void setup(){
  
}
 
 
void loop(){
    for(int j=0;j<=255;j++){
      for(int i=0; i<=255; i++){
        analogWrite(LED_PIN_R, i);      
        analogWrite(LED_PIN_G, 255-i);
        analogWrite(LED_PIN_B, j);
        delay(WAIT);
      }
 
      for(int i=0; i<=255; i++){
        analogWrite(LED_PIN_R, 255-i);  
        analogWrite(LED_PIN_G, j);
        analogWrite(LED_PIN_B, i);
        delay(WAIT);
    }
 
      for(int i=0; i<=255; i++){
        analogWrite(LED_PIN_R, j);     
        analogWrite(LED_PIN_G, i);
        analogWrite(LED_PIN_B, 255-i);
        delay(WAIT);
     }
   }
}

動画

ブログランキング・にほんブログ村へ

コメントを残す

メールアドレスが公開されることはありません。