ATTINY13で、LEDを8個制御する

2013年1月15日 by admin | Filed under 電子工作.

元ネタはこちら

ATMEL社の8ピンマイコン、ATTINY13を使って、何か楽しい工作はないかなあとネットを巡回してましたら、上記サイトを見つけました(サイトはドイツ語、オーストリア、チロル地方在住の方のページのようです)

8ピンマイコンで、ISPも繰り返し使おうとすると、RESET端子は通常のピンとしては使えません。また電源線も2本必要ですから、アプリケーションとして使えるピンは5本になってしまいます。この5本をフルに使って、LEDを制御しようという試みです。5個のLEDであれば簡単に配線できますが、8個だと考えなければいけません。5ピンのうち1つをコモン線にして、1×4のマトリクスを作り、これを双方向(?)で使うことにより8個のLEDを点灯制御しています。

なるほど、これなら8個の制御ができそうですね。これを制御するためには、ソフトウェアでちょっと面倒なことをしなければなりません。PB4がコモン線になっています。LEDを全て消したい場合、PB0~PB4を全て入力にしてしまえばよさそうです。ではD1を点灯させるには、どうすればいいでしょうか。回路図の上から下に向かって電流を流せば、D2が点灯することなくD1だけを点灯させることができます。とするとPB4はLにして、PB0はHにすればよさそうです。PB4のドライブ能力はLED1個程度ですから、PB1、PB2、PB3に接続されているLEDは点灯しないように、入力に設定します。これを表にまとめると、

LED DDRB PORTB
OFF 0×00 0×00
LED-1 0×11 0×01
LED-2 0×11 0×10
LED-3 0×12 0×02
LED-4 0×12 0×10
LED-5 0×14 0×04
LED-6 0×14 0×10
LED-7 0×18 0×08
LED-8 0×18 0×10

となります。同時に点灯できるLEDは1個だけですから、同時に2個以上のLEDが点灯しているように見せるためには、1mSとか適当なタイマーを使って順次点灯させる制御が必要です。

ATMEL AVR ATTINY13Aの通信販売はこちらから

== 追記 ==
この回路図、ISP機能が多分動きません。別途書込み器を用意して、プログラムを書き込んだマイコンを、実装する必要がありそうです。

← Previous

Tags: ,