Top / 電子工作 / 実験 / フルカラーLED

AVRでフルカラーLEDを光らせてみる

ちょっとした思いつき&必要性から、フルカラーLEDをコントロールしてみたくなりました。
フルカラーLEDとは、1つのLEDの中に赤、緑、青のLEDが入ってるモノ。
3原色揃っているので、理屈では全ての色が表現可能なスグレモノである。
しかし単純に光らせるだけでは、赤、黄、緑、水色、青、紫、黒*1の7色しか出せないのである。
中間色を表現させるには、各色のLEDをスムーズに減光させなくてはならないのだ。
しかしLEDは、電球のように電圧や電流を抵抗で制限するだけでは簡単に調光出来ないのである。
だけど一部の携帯のLEDは、スムーズに調光している。
実はアレ、PWMという方法を使ってやっているのである。
これを自由自在に使いこなせたら、いろんな制御が楽になる・・・これは是非モノにしてみたいのだ。

てなモンで、AVRマイコンを使ってPWMを実現する方法を研究してみるのである。


そんなワケで

実はもう、それっぽいモノは出来ている。(ォィ

DSCN0171.JPG

マイコンはATTiny2313、コイツのポートにトランジスタを繋ぎ、手持ちの赤、緑、青、白のLEDを繋いでる。
これらの駆動は、Tiny2313のハードウェアPWMを4ch使い制御している。
多チャンネルであれば、タイマ使ってソフトウェアでPWM掛けた方が早いような気はしないでもないけど、一応使える「らしい」のでムキになってやってみました。
で、とりあえず成果を確認する為に、色相を表示してみました。

filefullled1.mp4

光が散らばるので、紙コップを被せて撮影。
なかなかキレイでしょ?(^^

てなモンで、後日おさらいとして、ココに色々載せてみます。

後日

自分なりに整理してこんなカンジ。

  • 回路図
    hard4chPWM.png

元はELMさんのページこちらの作例が手本になってます。
まずはコレを無理矢理Tiny2313に移植し、その後試行錯誤しながらハードウェアPWM化しております。
回路図は、上の写真のモノとは違います*2が、コレでも結果は同じハズ。
Tiny2313のデータシートを見ながら、タイマの仕組みを理解するのに時間が掛かったのと、

接続ポート違うのに気付かずに

ダメだダメだと無駄なトライ&エラーを繰り返し、その上に

スタックポインタのおまじない

に気付かずに更に時間を浪費した。(^^;

いや〜苦労しただけに思い通りに動き始めて感動でしたわ。
回り道多すぎたけど、なかなか勉強になりました。

コメント



      コメント欄の使い方の説明       カキコミの練習はこちらでどうぞ

[ 戻る ]

*1 無点灯ね
*2 トランジスタのスイッチ回路が入ってます
Top / 電子工作 / 実験 / フルカラーLED
トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS