2.4 - カラフルな光¶
私たちは知っているとおり、光は重ね合わせることができます。例えば、青い光と緑の光を混ぜるとシアン色の光ができ、赤い光と緑の光を混ぜると黄色の光ができます。 このことを「加法的色の混合」と呼びます。
この方法に基づいて、異なる比重で三原色を混合することで、任意の色の可視光を作成することができます。例えば、赤を多く、緑を少なくすることでオレンジ色を作ることができます。
この章では、RGB LEDを使用して加法的色の混合の神秘を探究します!
RGB LEDは、赤、緑、青のLEDを一つのランプキャップの下に封入し、三つのLEDは共通のカソードピンを共有しています。 各アノードピンに電気信号が供給されるため、対応する色の光が表示されます。各アノードの電気信号の強度を変更することで、さまざまな色を生成することができます。
必要なコンポーネント
このプロジェクトでは、以下のコンポーネントが必要です。
全体のキットを購入すると非常に便利です。リンクはこちらです:
名前 |
このキットに含まれるアイテム |
購入リンク |
---|---|---|
ケプラーキット |
450+ |
以下のリンクから個別に購入することもできます。
SN |
コンポーネント紹介 |
数量 |
購入リンク |
---|---|---|---|
1 |
1 |
||
2 |
マイクロUSBケーブル |
1 |
|
3 |
1 |
||
4 |
数本 |
||
5 |
3(1-330Ω, 2-220Ω) |
||
6 |
1 |
回路図
PWMピンGP13、GP14、GP15はそれぞれRGB LEDの赤、緑、青のピンを制御し、共通のカソードピンをGNDに接続します。これにより、異なるPWM値でこれらのピンに光を重ね合わせることで、RGB LEDが特定の色を表示することができます。
配線
RGB LEDには4本のピンがあります:最も長いピンが共通のカソードピンで、通常はGNDに接続され、最も長いピンの隣の左側のピンが赤で、右側の2本のピンが緑と青です。
コード
ここで、お気に入りの色を描画ソフトウェア(例:ペイント)で選択し、RGB LEDで表示させることができます。
注釈
ファイル
2.4_colorful_light.ino
は、パスkepler-kit-main/arduino/2.4_colorful_light
で開くことができます。または、このコードを Arduino IDE にコピーしてください。
アップロード ボタンをクリックする前に、ボード(Raspberry Pi Pico)と正確なポートを選択してください。
color_set()
にRGB値を入力すると、RGBが希望する色に光るようになります。
どうやって動くのか?
この例では、RGBの三つのピンに値を割り当てるために使用される関数は、独立したサブ関数 color()
にパッケージされています。
void color (unsigned char red, unsigned char green, unsigned char blue)
{
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}
loop()
内では、RGB値が入力引数として color()
関数を呼び出すことで、RGBが異なる色を発するようになります。
void loop()
{
color(255, 0, 0); // red
delay(1000);
color(0,255, 0); // green
delay(1000);
color(0, 0, 255); // blue
delay(1000);
}