RGB LEDの紹介
RGB LED は、赤、緑、青の波長の強度を混合することにより、さまざまな色の光を放出できる LED の一種です。 PWM (パルス幅変調) 信号を使用して、3 原色用に生成された PWM 信号のデューティ サイクルを調整することにより、複数の色を作成できます。
RGB LED モジュール
HW-478、KY-016、KY-009 など、さまざまな RGB LED モジュールが利用可能です。使用します HW-478 RGB モジュール。これらすべてのモジュールの動作原理は同じです。
HW-478 RGB モジュールの仕様は次のとおりです。
仕様 | 価値 |
---|---|
動作電圧 | 最大5V |
赤 | 1.8V~2.4V |
緑 | 2.8V~3.6V |
青 | 2.8V~3.6V |
順電流 | 20mA~30mA |
動作温度 | -25°C ~ 85°C [-13°F ~ 185°F] |
基板寸法 | 18.5mm×15mm [0.728インチ×0.591インチ] |
RGB LED HW-478 ピン配列
以下は、RGB モジュールの 4 つのピンです。
RGB LEDの働き
RGB LED は、赤、緑、青の 3 色の光を発することができる LED の一種です。 Arduino を使用した RGB LED の動作原理には、パルス幅変調 (PWM) を使用して各色の強度を制御することが含まれます。
PWM 信号のデューティ サイクルを調整することで、Arduino は各 LED を流れる電流量を変更し、LED が異なる色の光を発するようにします。たとえば、赤色 LED のデューティ サイクルが高い値に設定されている場合、LED は明るい赤色の光を発します。緑色の LED のデューティ サイクルが低い値に設定されている場合、LED は薄暗い緑色の光を発します。 3 つの色の強度を組み合わせることで、Arduino はさまざまな色を作り出すことができます。
Arduino PWM デューティ サイクル値は 0 ~ 255 の間で変化します。任意の色に PWM 値を割り当てることで、完全に明るい色に設定するか、完全にオフにすることができます。 0 は LED オフに対応し、255 は最大輝度に対応します。
RGB LED で複数の色を表示する方法
複数の色を表示するには、3 原色 (RGB) の PWM 値を定義する必要があります。任意の色を表示するには、まずカラー コードを見つける必要があります。以下は、いくつかの主要な色のカラー コード リストです。
カラーコードを見つけるには、 Google カラーピッカー .このツールを使用すると、それぞれの色の HEX RGB 値も取得できます。
次に、RGB LED と Arduino Nano のインターフェースに進みます。
RGB LED と Arduino Nano のインターフェース
RGB LED モジュールを Arduino Nano と接続するには、次のコンポーネントが必要です。
- Arduinoナノ
- 3×220オーム(Ω)抵抗器
- RGB LED モジュール HW-478
- ジャンパー線
- ブレッドボード
- ArduinoIDE
回路図
与えられた画像は、RGB LED を備えた Arduino Nano の回路図を表しています。
ハードウェア
以下のハードウェアはブレッドボード上に設計されています。各ピンには LED 回路の保護のため抵抗が接続されています。
コード
Arduino 統合環境を開き、指定されたコードを Arduino Nano ボードにアップロードします。
ボイド設定 ( ) {
pinMode ( redPin、出力 ) ; /* 赤いピンの定義 として 出力 */
pinMode ( グリーンピン、出力 ) ; /* 緑色のピンが定義されています として 出力 */
pinMode ( ブルーピン、出力 ) ; /* 青いピンの定義 として 出力 */
}
ボイドループ ( ) {
RGB_出力 ( 255 、 0 、 0 ) ; /// RGB カラーを赤に設定
遅れ ( 1000 ) ;
RGB_出力 ( 0 、 255 、 0 ) ; /// RGBカラーをライムに設定
遅れ ( 1000 ) ;
RGB_出力 ( 0 、 0 、 255 ) ; /// RGB カラーを青に設定
遅れ ( 1000 ) ;
RGB_出力 ( 255 、 255 、 255 ) ; /// RGB カラーを白に設定
遅れ ( 1000 ) ;
RGB_出力 ( 128 、 0 、 0 ) ; /// RGB カラーをあずき色に設定
遅れ ( 1000 ) ;
RGB_出力 ( 0 、 128 、 0 ) ; /// RGB カラーを緑に設定
遅れ ( 1000 ) ;
RGB_出力 ( 128 、 128 、 0 ) ; /// RGBカラーをオリーブに設定
遅れ ( 1000 ) ;
RGB_出力 ( 0 、 0 、 0 ) ; /// RGB カラーを黒に設定
遅れ ( 1000 ) ;
}
無効な RGB_出力 ( int redLight、int greenLight、int blueLight )
{
アナログ書き込み ( レッドピン、レッドライト ) ; /// 書く アナログ値を RGB に
アナログ書き込み ( グリーンピン、グリーンライト ) ;
アナログ書き込み ( ブルーピン、ブルーライト ) ;
}
最初の RGB ピンは、PWM 信号を送信するために初期化されます。デジタル ピン 2 は緑色用に初期化され、同様に D2 と D3 は赤色と青色用に初期化されます。
コードのループ部分では、HEX RGB 値を使用してさまざまな色が定義されています。これらの各値は、PWM 信号を表します。
次の void RGB_output() 関数には、RGB ライトに異なる色を設定する 3 つの整数を渡しました。たとえば、白色の場合、3 つのパラメーターのそれぞれに 255 を渡す必要があります。赤、青、緑のすべての原色は、その結果、出力で白色が得られるため、その最大値まで明るくなります。
出力
コードをアップロードすると、RGB LED にさまざまな色が表示されます。下の画像は赤色を示しています。
この画像は緑色を表しています。
RGB LED モジュールを Arduino Nano に接続しました。
結論
Arduino Nano は、さまざまなセンサーと統合できるコンパクトなボードです。ここでは、Arduino Nano で RGB LED を使用し、Arduino Nano デジタル ピンからの PWM 信号を使用して複数の色を表示するようにプログラムしました。 RGB の詳細については、記事を参照してください。