PIC10F222は6ピンのPICなので使えるピン数は4本、そのうち1ピンは入力専用だ。
昨日あたりからPIC10F222を使ったゲーム用のワイヤレス・コントローラをやっているのだが、ワイヤレスの送受信に1ピン使うとなると、結果として3つのボタンしかつなげないことになる。
左右とリセットくらいになってしまう。
いまやってるゲームではそれで十分なのだが、将来性が無い。
ピン数の多いPICにすれば済む話だが、それじゃあ芸が無い。
そこでもうひとつ、最近やっていて頭に浮かぶのが、NTSCのビデオ信号がらみの回路だ。
信号用にいろんな電圧を取り出すのに分圧抵抗を用いている。
PIC10F222ってADCが付いてるのに全く生かされてないこととあわせて、上のようなことを考えながらWebをうろついてて見つけたのがこのサイト。
つまりこんな回路にすればいいと教えてくれた。
これなら、せっかく備わっているAD変換機能を生かせるし、理屈の上では1本のADピンでボタンをいくつでも検知できる。
で、抵抗の値はどうすればいいのか。
これは、最近マイ・ブームのhandyCalcにきいてみる。
上から順に、10.0k、2.50k、4.17k、8.33k、25.0kということになる、計算上は。
手持ちの範囲で実際の抵抗値に置き換えてみると以下のようになる。
これだけ電圧差が開いていれば、回路にさほど気を使わずに適当にプログラムしてもちゃんと検知できるだろう。
この例では5つのボタンが使えるので、上下左右とリセットってなことも可能だし、もっとボタン数を増やすことも出来そうだ。