フルカラーLED点灯回路(仮)






以前少し書いた、LEDサイリウムの件ですが、私にしては珍しく製作中です。
webページの方はもう半ば諦め気味ですが。
現在のところ、タクトスイッチ入力までは概ね完成しています。
後はロータリエンコーダからの入力が上手くいけば、
あとは基板に実装すれば完成というわけです。


実際のところ、AVRライタのAVRWRTを起動させるまでが大変でした。
しかし、結局の原因は接続ピンが違ったというなんとも単純なものです。
ただ、AVRWRTからはISPコネクタを使ってAVRに繋げていくわけですが、
正直どれがどのピンなのかがはっきりしません。
専用の接続用コードが同封されれば、もっと使い勝手のよいものになると思います。
あと、基板上のJP4を短絡しなければ+5V電源が供給されないというのも謎です。
説明書には一切記載がありません。


それでは、一応今回作成のLEDサイリウムというか、フルカラーLED点灯回路の仕様でも書いておきましょう。
単なる備忘録的なものなのであまり期待はできません。
原理的には、フルカラーLEDをPWM制御にて色を変化させます。
PWM制御とはON時間とOFF時間の割合を変える制御のことです。
ONとOFFが高速に繰り返された場合、人の目にはその平均の明るさに光って見えます。
それによって、各LEDの明るさが変化します。
そして、その3色それぞれの明るさによって、様々な色が作り出せるわけです。
PWM制御にはAVRマイコンATTiny2313を使用しています。
入力は、クリック付きのロータリエンコーダで、
電源を入れた後、
ロータリエンコーダが回転した場合、デフォルトで設定された色をローテーションする。
クリックされると手動設定モードへ移行、
ロータリエンコーダによって各LEDの明るさを制御します。
まあこのロータリエンコーダからの入力が中々上手くいかないわけですが。
プログラムソースを公開する予定はありません。
というより、公開するほどのものでもないので。
そもそもまだ出来ていないので。


私はCで開発中なのですが、とても使いやすいです。
ほとんど一般的なCのように使えます。
初めはアセンブリ言語で書いていましたが、
段々わけがわからなくなってきたのでCにしました。
授業で軽くPICも触ったことがありますが、
AVRの方がわかりやすいような気がします。
ライタも安いですし、ATTiny2313は秋月で1個100円という安さです。
これから始めようという方にはAVRがお勧めと思います。
情報の方もネットを見れば結構ありますので。
そんな私も初のマイコンです。
LEDが光った時の感動は大きかったです。
さて、ロータリエンコーダをどうするか。




P.S.
ロータリエンコーダです。ロリータエンコーダではありません。
そう読み違えると何だか卑猥になってきます。
ロリータは何の関係もありません。


追記 4/9
このページにアクセスされた方はよければ次の日も見ていただくと
少しは参考になるかもしれません。
2010-03-06 - 雨降りの夜
あと、作ったものは今は壊れてます。
恐らく断線した気がしますが、直す機がないのでそのままとなっております。