漫画居士さんから目からウロコのナイスアイデアを
頂いたので、しばし考えてみました。
漫画居士さんのアイデアというのは先日の
http://brown.ap.teacup.com/nekosan0/285.html
Chanさんの赤外線リモコンライブラリに
関することです。
信号のオン/オフを出力するピンと、38Khzで
変調するための出力ピンを、当初外付けのAND回路
で論理和取り変調してからLEDに繋ぐ必要がある
だろうなぁと思っていたんですが…
で、漫画居士さんのアイデアは外付け部品無しでも
いけるんじゃないか?というご指摘。
ピンの状態をHIGH/LOW以外の状態、HIGH-Z
状態を上手く使えばいけるんじゃないか?
ということです。(理解が間違えていたらゴメンナサイ)
例によって山根さんの本、P110のマルチファンクション
ピン切替の解説図(内部の等価回路)を眺めてみたんですが、
入力に設定したピンのプルアップを制御する情報の流れは、
timer回路からの出力は届いていないため
(portDレジスタの出力だけが届いていました)、
AVRではこの方法は出来なさそうだということは
判りました。
(他のマイコンの場合は別途調べないと判りません)
一方、漫画居士さんのアイデアの秀逸なのは、外付け部品
無くてもいいんじゃない?というアイデア。
風呂に浸かりながらこのことを上手く使えないものかなぁ
って考えていたところ、良い事思いつきました!
こういう接続方法なら、AVRでも電流制限抵抗1個
だけで上手く行くはず!
(1)出力情報のオンオフ信号出力ピン(例えばPD6…OC0A)
↓
(2)LEDのアノード
↓
(3)電流制限抵抗(1kΩとか)
↓
(4)変調信号用のPWM出力ピン(例えばPB1…OC1A)
こんな風に繋ぐと、(1)の出力信号がオンかつ、
(4)の変調信号がオフの時だけLEDが光り、
それ以外の状態ではLEDが消灯することになります。
もちろん、壊れちゃうようなこともありません。
(ご興味のある方は、(1)と(4)のオン/オフに
ついて真理値表を書いてみて、回路に当てはめてみて
ください)
漫画居士さんの「外付け部品要らないんじゃない?」
という発想は、私は逆立ちしても出てきません。
私の頭はやっぱりソフトウェアに片寄ってるんだろうなぁ。
っていうか、単にコチコチに固まっているだけか…?
ちなみに他のマイコンの場合は漫画居士さんのご指摘どおり
に出来るかも知れません。(調査できてません)
漫画居士さん、ありがとうございました。
![](/images/clear.gif)
![](/images/clear.gif)
![](/images/clear.gif)
|