Apple II ▷ ゲームI/O応用編
▷ はじめに
Apple IIのメインボード上にあるゲームI/Oの可能性を開拓するためにシンプルなインタフェースを工作し,その実例としてジョイスティックとトラックパッドの事例を紹介してきました.今回もその応用事例を紹介します.
▷ Azoteq社 IQS550EV02-S Trackpad Evaluation Kit
Adafruit社のトラックパッドはArduinoとの相性もよく,工作しやすいでバイでした.記事(4)の最後に書きましたが,このトラックパッドは「マルチタッチをサポートしていない」とのことです.いっぽう昨今のノートPCに搭載されたトラックパッドはマルチタッチが標準的になっています.マルチタッチ対応のトラックパッドをApple IIに接続できないか・・・と思っていました.
ある時,Azoteqという会社が販売する静電容量型トラックパッド評価キットというなんだか興味深いものを見つけました.
仕様は以下のサイトより入手できます.
https://www.azoteq.com/images/stories/pdf/iqs550ev02_datasheet.pdf
仕様を抜粋すると,
・センサのタイプ:タッチ、静電容量型
・センシング範囲:150チャンネル
・インターフェース:I²C
となりますが,マルチタッチは5点もある高性能なデバイスです.加えて評価キットということで,タッチパネル平面座標領域の設定,タッチの強さの閾値などを詳細に設定することができる開発環境が提供されており,用途にあわせて設定を書き込むことができます.
さらにありがたいことに,Arduinoのサンプルコードも提供されています.http://www.azoteq.com/images/stories/software/iqs550_arduino_example_code.zip
▷ 評価キットを購入
Azoteq社 IQS550EV02-S を試しに購入してみたので写真1に示します.
透明アクリルプレートで保護された簡素なつくりですが,こういう雰囲気は工作の意欲をそそります(唐突に電子ブロックのことを想起したりして).
▷ そしてまたゲームI/Oに接続する
トラックパッドとArduinoの接続は以下のとおりです.
IQS550EV02-S | Arduino(Metro Mini 328)
---------------------------------------------
RDY <-> DIGITAL, PIN 2
SDA <-> SDA, A4
SCL <-> SCL, A5
VDDHI <-> 3v3
GND <-> GND
以上の設定で組んだ回路の様子は写真2のとおりです.
プログラムにあたっての工夫は,タッチパッドに指がタッチしたフラグをたて,その判定をApple IIのゲームI/Oのプッシュスイッチのラインに入力することです.これによりタッチの有無を区別しています.ゲームI/OにはコントローラのラインがPC0〜PC3の4つ,スイッチのラインがPS0〜PS2の3つですから,都合トラックパッドからのコントローララインへの入力はxy座標2組でいっぱいとなり,プッシュスイッチのラインは1つ余ることになります.図1はシリアルモニタの出力結果です.起動直後の様子で,1本指,その後すぐに2本指で操作しています.画面中NFはタッチした指の数,同一行のデータは座標データとデジタルポテンショメータの計算上の抵抗値が表示されています.
▷ 8ビットマシンがんばる!
マルチタッチトラックパッドの動作確認の様子は以下の動画でみることができます.ここではごく簡単にAPPLESOFT BASICで座標データと指のタッチの有無を判定して低解像度モードで点をプロットしていますが,それでも応答速度は十分に思えます.
8ビットマシンがんばる!
この記事が気に入ったらサポートをしてみませんか?