Arduino(11) フルカラーLED
ArduinoにフルカラーのLEDを接続してみました。
フルカラーLEDとは
使用したLEDは秋月電子で購入したOSTA5131Aと記されたLEDです。このLEDは、LEDのカソード側(マイナス側)が共通となっており、回路図を見ると分かりますが、単純に3色のLEDが1つになった製品です。
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); } } }動画