たくさんの小さなガラス片の下で色が変化するLEDに見惚れて
完成したArduinoのブレッドボード製プロトシールドで、さっそく何か作ってみようと思います。
一番安易なのはLチカですが、単にLEDを点灯させても(今回は)意味がないので、以前からやってみたいと思っていたLEDの「調光」にトライしてみようかな。
もう一つ、4本足のカラーLED(RGBタイプ)にもその内にトライしてみたいと思っていたので、この際なので3本3色のLEDを接続して、それぞれの調光をしてみようと思います。

LEDの調光をするには、PWM出力で行いますが、Arduino Unoでは、3、5、6、9、10、11番の6本のピンがこのPWM出力に対応しています。
PWM出力ってのは、analogWrite を使ってピンからの出力値を0から255まで256段階の設定を可能にするものです。要は、この値が大きいほどLEDは明るくなるってこと。
ということで、今回は9番、10番、11番の3本のピンに、橙、青、緑の3色のLEDを接続してます。
そう言えば上の図、Arduino系のサイトを見ると、よく見かけるタイプの図だと思いますが、ずーっとどうやって書いてるんだろって疑問に思っていたんです。
何気なく調べてみたら、専用の(って訳でもないか)ソフトがあったんですね。Fritzingというソフト。
起動すると、メインウィンドウに「ブレッドボード」という大きなタブがあるので、右側にある部品欄から必要なパーツをブレッドボード上にドラッグ&ドロップして配置していくだけ。
うーん、「カチッカチッ」て感じで吸い込まれるように配置されていくので、描いていてなんか楽しい。

抵抗が増えていて違う回路に見えるかもしれませんが、LEDに適切な電流を流すためのピッタリの抵抗が無かったので、それぞれ2個の抵抗を直流に繋げてあるだけで、中身は実体配線図と同じ。
このブレッドボード製プロトシールド、本当に便利。アレコレ考える前にササっと作ってしまった方が何かと早いかも。これは結構活躍してくれそうな気がします。
こちらもシンプルに、「橙:徐々に明るく→徐々に暗く」→「青:徐々に明るく→徐々に暗く」→「緑:徐々に明るく→徐々に暗く」の繰り返しとします。
そして出来上がったのがこちら。LED直だと明る過ぎて上手く撮れないので、手近にあったガラス片の入った袋を上から被せて撮影してます。
実際に作ってみたら想像以上に美しくて、これを電池駆動にしてコンパクトにまとめ、何かに組み込んでみたくなりました。
一番安易なのはLチカですが、単にLEDを点灯させても(今回は)意味がないので、以前からやってみたいと思っていたLEDの「調光」にトライしてみようかな。
もう一つ、4本足のカラーLED(RGBタイプ)にもその内にトライしてみたいと思っていたので、この際なので3本3色のLEDを接続して、それぞれの調光をしてみようと思います。
Fritzingを使って実体配線図を描くのは、なんか楽しいなー
といっても、回路的にはいたって簡単。3本のLEDと3本の抵抗を配置するだけ。
LEDの調光をするには、PWM出力で行いますが、Arduino Unoでは、3、5、6、9、10、11番の6本のピンがこのPWM出力に対応しています。
PWM出力ってのは、analogWrite を使ってピンからの出力値を0から255まで256段階の設定を可能にするものです。要は、この値が大きいほどLEDは明るくなるってこと。
ということで、今回は9番、10番、11番の3本のピンに、橙、青、緑の3色のLEDを接続してます。
そう言えば上の図、Arduino系のサイトを見ると、よく見かけるタイプの図だと思いますが、ずーっとどうやって書いてるんだろって疑問に思っていたんです。
何気なく調べてみたら、専用の(って訳でもないか)ソフトがあったんですね。Fritzingというソフト。
起動すると、メインウィンドウに「ブレッドボード」という大きなタブがあるので、右側にある部品欄から必要なパーツをブレッドボード上にドラッグ&ドロップして配置していくだけ。
うーん、「カチッカチッ」て感じで吸い込まれるように配置されていくので、描いていてなんか楽しい。
実際にブレッドボード上に組み上げ
で、これをベースにブレッドボード製プロトシールドの上に配置したのがこちら。
抵抗が増えていて違う回路に見えるかもしれませんが、LEDに適切な電流を流すためのピッタリの抵抗が無かったので、それぞれ2個の抵抗を直流に繋げてあるだけで、中身は実体配線図と同じ。
このブレッドボード製プロトシールド、本当に便利。アレコレ考える前にササっと作ってしまった方が何かと早いかも。これは結構活躍してくれそうな気がします。
本当はランダムに変化させたいんだけど
続いてプログラム(スケッチ)の制作。こちらもシンプルに、「橙:徐々に明るく→徐々に暗く」→「青:徐々に明るく→徐々に暗く」→「緑:徐々に明るく→徐々に暗く」の繰り返しとします。
- 1行目:256ステップの1ステップの増減間隔を FADE_TIME で定義(今回は10ms)
- 10行目:9~11番ピンを pin0~pin2と命名し、これらを出力に設定
- 19行目:(先ずは)pin0(橙)をターゲットに
- 20~23行のループ:0~255までの値を1ステップずつ加算出力(22行で10ms待機)
- 25~28行のループ:255~0までの値を1ステップずつ減算出力(27行で10ms待機)
- 29行:19行に戻って、今度は pin1(青)をターゲットに
- 20~28行の「徐々に明→徐々に暗く」を行い
- 29行に辿り着く度に19行に戻って、緑→橙→青→緑を延々とくり返す
そして出来上がったのがこちら。LED直だと明る過ぎて上手く撮れないので、手近にあったガラス片の入った袋を上から被せて撮影してます。
実際に作ってみたら想像以上に美しくて、これを電池駆動にしてコンパクトにまとめ、何かに組み込んでみたくなりました。
- 関連記事
-
-
3色LED調光+電子オルゴールをATtiny2313と85で
-
Arduino用のプログラムを流用してATtiny2313に書き込む
-
たくさんの小さなガラス片の下で色が変化するLEDに見惚れて
-
ブレッドボードでArduinoプロトシールドを作ってみた
-
アイデアをお借りして、Arduinoプロトシールドを作ってみようかと
-