LEDちょっとした思いつき&必要性から、フルカラーLEDをコントロールしてみたくなりました。フルカラーLEDとは、1つのLEDの中に赤、緑、青のLEDが入ってるモノ。3原色揃っているので、理屈では全ての色が表現可能なスグレモノである。*1の7色しか出せないのである。中間色を表現させるには、各色のLEDをスムーズに減光させなくてはならないのだ。LEDは、電球のように電圧や電流を抵抗で制限するだけでは簡単に調光出来ないのである。一部の携帯のLEDは、スムーズに調光している。実はアレ、PWMという方法を使ってやっているのである。これを自由自在に使いこなせたら、いろんな制御が楽になる・・・これは是非モノにしてみたいのだ。モンで、AVRマイコンを使ってPWMを実現する方法を研究してみるのである。実はもう、それっぽいモノは出来ている。(ォィマイコンはATTiny2313、コイツのポートにトランジスタを繋ぎ、手持ちの赤、緑、青、白のLEDを繋いでる。これらの駆動は、Tiny2313のハードウェアPWMを4ch使い制御している。多チャンネルであれば、タイマ使ってソフトウェアでPWM掛けた方が早いような気はしないでもないけど、一応使える「らしい」のでムキになってやってみました。成果を確認する為に、色相を表示してみました。fullled.flv光が散らばるので、紙コップを被せて撮影。キレイでしょ?(^^てなモンで、後日おさらいとして、ココに色々載せてみます。自分なりに整理してこんなカンジ。回路図ソースhard4chPWM.asm元はELMさんのページのこちらの作例が手本になってます。コレを無理矢理Tiny2313に移植し、その後試行錯誤しながらハードウェアPWM化しております。回路図は、上の写真のモノとは違います*2が、コレでも結果は同じハズ。接続ポート違うのに気付かずにダメだダメだと無駄なトライ&エラーを繰り返し、その上にスタックポインタのおまじないに気付かずに更に時間を浪費した。(^^;いや〜苦労しただけに思い通りに動き始めて感動でしたわ。回り道多すぎたけど、なかなか勉強になりました。Reserved.当ページ掲載の記事、写真、イラスト等の無断掲載を禁止します。