RGB LEDをArduinoで動かす①チュートリアル通りに動かす

2022/02/27

Arduino RGB LED

t f B! P L

RGB LEDをチュートリアルに通りに点灯させます。

 目次:

今回の目的

ELEGOOのチュートリアルのスケッチでそのままRGB LEDを点灯させます。

※チュートリアルの文章(PDF日本語版含む)もスケッチもELEGOOのサイトから無料でダウンロードできました。

Download ⇒「Arduino Kits & ~」⇒「UNO R3 Starter Kits」⇒ 「ELEGOO UNO R3 The Most Complete Starter Kit」 からダウンロードリンクに辿り着けます。


「RGB LED」

「RGB LED」はR(Red)、G(Green)、B(Blue)の3色のLEDを一体化したLEDです。

3原色の点灯具合を調整することで、全体として混ざり合った光を自在な色に変化させることができるため、「フルカラーLED」とも呼ぶようです。

図1.RGB LED(ELEGOOのキット付属品)


ただ、後から表現色を広げる「RGB +W(White)」、「RGB +W(White)+WW(Warm White)」(WやWWを追加することで淡い中間色が表現できるようになりました)が世に出てきたことからもわかる通り、RGBだけで万能の「フルカラー」が実現できるわけでもありません。


器材接続

チュートリアルに図があるので省略しますが(写真は図2にあり)、Arduinoから4本配線つなぎます。

ブレッドボードに挿したRGB LED。各色のアノードには電流制限抵抗として220Ωの抵抗を直列に介してArduinoにつなぎ、共通のカソードはArduinoのGNDにつなぎます。


LEDを3個つなぐのと変わりありません。3本のアノード(+)が一つLEDから生えていて、カソード(-)が共通なので配線1本で済む感じです。


スケッチ

ELEGOOからダウンロードしたスケッチをそのまま書き込みます。

点灯はアノード側にPWM(Pulse Width Modulation:パルス幅変調)で正電圧与えて制御しております。

(アノードに一定周波数(約500Hz)で正パルスを与え、そのパルス幅が広いほど対象色のLEDが明るく光って見えます)


このPWM制御は「analogWrite」関数で実現できます。便利です。

analogWrite(pin,value)

 pin:出力ピンの番号

 value:0~255。0で正パルス幅なし。255で正パルス幅出っ放し


ELEGOOのスケッチでは下記ループ1~3を順繰りに延々と繰り返します。

1.赤:最大→消灯、緑:消灯→最大、青:消灯(固定)

2.赤:消灯(固定)、緑:最大→消灯、青:消灯→最大

3.赤:消灯→最大、緑:消灯(固定)、青:最大→消灯

※各色はanalogWrite関数の引数valueに0~255をループで増加 or 減少させます


動作





図2.RGB LED点灯


素直な感想、「きれい」でした。


回路的にはひと固まりに配置した3色のLEDを徐々に強弱変えながら光らせているだけ、始める前はそう思ってパスしようかと考えておりました。

ですがこうして動かしてみればなるほど、このような光の変化・表現ができるのですね。少し気分が穏やかになりました。

RGB LEDは室内や車載の電飾に活用されているわけですが、やりようによって良い演出ができそうです。


このブログを検索

ブログ アーカイブ

自己紹介

にほんブログ村

QooQ