Release 2016.9.18 / Update 2016.12.31

フルカラーLEDを使う

LEDはArduinoで最初に扱うパーツです。基本的なパーツですが、今回はRGB(フルカラー)LEDの扱いについて書いてみます。

まず簡単に単色LEDから。

単色LEDを使う

電流の向き

スイッチを使ったLEDのON/OFFはArduinoで最初の頃に試すかと思います。

1color_led_1_breadboard

ボタンのON/OFFでLEDの点灯、消灯を制御する単純なスケッチです。大抵、ピンのOUTPUTをLEDに送る電圧にしてON/OFFを制御しますが、これは逆にも出来ます。

1color_led_2_breadboard

LEDに関するつなぎ方が逆になっていることに注意してください。

今度はボタンを押したときOFFになると思います。

これはArduinoのピンを電流の受け手にして、HIGHだとLEDからの5Vと均衡を保つので流れない。LOWにすると0Vになるので、LEDからの電流がArduinoのピンに入ってGNDに行く、という仕組みです。つまりピンのHIGH、LOWが電気の壁の役割を果たします。

これは3色LEDだと大切な知識になってくるので覚えておいてください。

analogWrite

digitalWriteでは単純なON/OFFしかできませんが、analogWrite関数を使えばLEDの明るさを調整できます。しかしこれは本当はアナログではなく、一定期間でオンオフを切り替えることで電気のトータル量を操作する仕組みです。PWMと呼ばれています。例えば1秒間の中で考えてみると、

pwm_anim
PWMイメージ(実際のパルス幅ではありません)

LEDが高速点滅することになりますが、あまりに早いので人間の目には識別できず、結果明るさは青の面積(PWM幅)で変わることになります。

analogWrite(使用ピン, PWM幅 0 – 255);

そこで可変抵抗器を使い0-255段階で明るさの調整ができるものを作ります。

1color_led_3_breadboard

これでLEDの明るさを調整できるようになります。

フルカラーLED

色の三原色

美術の授業でお馴染みだと思いますが、赤、緑、青の混ぜ加減で全ての色を表現できます。これをLEDでも同様に赤、緑、青まとめて扱えばフルカラーになるよ、と。つまりフルカラーLEDと呼ばれるものは3つLEDがセットになっているだけの話になります。

3colors

アノードコモン、カソードコモン

led_illust

フルカラーLEDではほとんどの場合、足が4本しかないですが、これはRGB各色に対してVCC、またはGNDが共通になっているためです。

アノードコモン VCC(入力)共通
カソードコモン GND(出力)共通

これが分かれば、後は実際にスケッチを書いていくことが出来ます。

可変抵抗器でフルカラー調整LED

では、可変抵抗を3つ用意し、それぞれ赤、緑、青の値をいじって好きな色に出来る回路を作ります。自分の使うLEDのスペックを見てアノードかカソードか、必要な抵抗を確認してください。例ではアノードコモンのLEDを扱っています。

3color_led_breadboard

前述してきた単色LEDの工程をそれぞれの色のLEDに繰り返しているだけです。

配列を使うと0.赤、1.緑、2.青という順番をつけることができ、for文の繰り返しに投げ込めるようになるので、結構シンプルなスケッチで収まります。

お試しください。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください