2017年10月16日月曜日

1ピンでスイッチ

 せっかく電光掲示板があるんだから、何かやりたい。でも動画はかなり高負荷。じゃぁどうしよう、ということで、テトリスでも作ろうか、という流れ。
 でも諸々の予約を考えると、スイッチ入力に使えるピンは1本しかない。スイッチ1個でどうやってテトリスをやれと。
 幸いにして、アナログ入力ピンが開いてるので、そこにスイッチを付けることにした。

 回路はこういうイメージ。


 今回はスイッチを計8個使い、ゲームボーイとかファミリーコンピュータっぽい配置になってる。タクトスイッチだけど。
 ついでに、ロータリーエンコーダもあれば面白いかな、と思って追加してみた。
 この回路では、基本的に同時押しは許可されない。右側のスイッチ群では、同時押しをした場合、根本に近い方が優先される。スイッチAとスイッチBを押したらスイッチCとして認識される、ということはない。
 一方、ロータリーエンコーダは同時に2本のスイッチを監視する必要があるので、ちょっと回路が違う。

 とりあえず、こういう回路でマイコンのADCを使って電圧を見てみると、こんな感じ。

 ADCは10kspsで、FallingEdgeから50サンプル分を出力している。
 タクトスイッチは予想より遥かに綺麗な波形。今のところチャタリングも全く無い。経年劣化とか怖いけど、そんなに長く使う気はないし、イザとなればコントローラ部分だけ作り直せるし。
 一方、ロータリーエンコーダの波形はかなり汚い。一応、AとBとABで電圧が違うのはわかるので、A相/B相の位相は把握できる。でもこれならFallから5サンプル後くらいの電圧を見て、A相かB相かを判定したほうが楽そうだなぁ。


 とりあえず、タクトスイッチの入力は問題なさそうなので、最悪でもファミコンやゲームボーイの操作系は作ることができる。
 ま、ゲームボーイと比べても、横幅で2.5分の1、縦幅で4.5分の1しかないのだけど。パネルを買い足せばゲームボーイの5分の1くらいの面積か。フルカラー8bit256色くらい表現できるのはこっちのほうが圧倒的に優位。動作確認はしていないが、2chの12bitDACもあるので、はいれぞおーでぃおも出力できる。画面解像度に目をつぶれば、ゲームボーイより高性能。

 とりあえず、もうちょっとエンコーダの動作確認をしてみる予定。

0 件のコメント:

コメントを投稿