電音の工場ブログ

趣味の電子工作を中心としたブログです.音モノの工作が多いです.

当ブログは…

ギターいじり その2.8

エスカッションにとめるネジが用意できたので、ピックアップ交換をしようと作業を開始した。

元となるギターのPEは、2-Vol、2-Tone、2-SW である。2-SWは3ポジションなトグルスイッチで、ピックアップのタップを多用する筆者としてはこのスイッチの存在はありがたい。シリアル-シングル-パラにしようか、シリアル-シングル-フェーズにしようか…

はずして見てみると例によって酷いハンダ付けがしてある。ここまで酷いのはメーカーの仕事ではない。誰かがいじったのであろう。配線を見てもなんかまともに機能していない感じ。スイッチをじっと見ると、ミヤマのON-OFF-ONだった。

むぅ自分のやりたいシリアル-シングル-パラとかシリアル-シングル-フェーズだと ON-ON-ON のスイッチが必要と思われる。うーん、買いに行かなくちゃ…

謎コントローラ

id:Chuck:20060122#p1

実機だとうまく行かん orz

とか書いていたが、うまくいった (^O^)

プレステのコントローラ DualShock2 *1 からレバーや押釦情報を取り出すことに成功した。

なんでこんなものを作ったかというと、サミットでtakedaさんにX-Yジョイスティックを見せていただいた(id:Chuck:20051130#p1)のが発端である。可変抵抗器によるX-Yジョイスティックだと分圧するだけでアナログ電圧が得られて魅力的なのだが、モノによってはちょっと高かったり、中心に戻るバネが入っているタイプのものはもっと高かったりして、それならそこいらの中古屋さんで安価に買えるかもしれないゲーム機のコントローラを流用するのはどうだろう、と考えた。調べてみるとこれを用いてLEGOのコントロールをされている方もいらっしゃる。

ということで、簡単なハードを作ってソフトを書いて、今回とりあえずうまくいったが、現段階では情報がAVR上のRAMに収める*2ところまでが出来ているに過ぎない。

このあとはエラー処理を入れたり、例によってPWMCVに変換して取り出したりといった作業が必要になる。それにしても DualShock2 だとボタンのON/OFF情報 16bit、ボタンやレバーのアナログ情報が 8bit のものが16本でているのだが、どうやってあるいはどれを外に取り出そうか…

使用AVRも、ATmega88をテスト使用しているが、発表するときは入手がより容易なATmega48に載せたい。

まだまだかかりそうである。

さて、

何が悪いのであろうか…

と悩んでいたが、オシロを取り出してきてみると、配線間違えがあって、さらにはpull-up抵抗が弱かった。あとPORTのI/O方向レジスタを間違えて上書きしてしまっていたり。

「真実はいつもひとつ」というか「悪いのはたいてい自分」*3

なお

まだエラー処理とか機種分岐とか書いていないのでアレですが、筆者は DualShock2 と ネジコンしか持っていないので、他の機種に対応して試験することは出来ません。

*1:r0r0さん、見事なご推察

*2:なんで実チップのRAMの内容がわかるかというとICEを使っているから…

*3:極稀に部品が悪いこともある。1000回に1回~10万回に1回ぐらいな感覚だが、その頻度はなぜか弄る人に依る。