Cedrusレスポンスパッド RB-740
使用前の準備
実験心理でおなじみのCedrus社製反応取得キーパッドを使用します。
Cedrus社 RB Series Response Pads
通常のPCキーボードですと、どうしても正確な反応時間の取得に難があります。
Cedrusのレスポンスパッドは通常のキーボード入力も可能なうえ、XIDプロトコルを備えており、D2xxというドライバの利用により2ミリ秒のタイミング精度を実現します。
https://cedrus.com/support/xid/index.htm
なおこの反応取得ボックスは、光センサや音声入力により内部クロックをリセットすることもできる、...らしいです。
○XIDモード
下図のように、背面のピンをすべて下げた状態にします。XIDモードではピン2と3が下がっている必要がありますが、全部下げても利用できます。
キーボードモードの説明はこちら
○ドライバインストール
・Windows
こちらの案内にしたがってドライバをインストールします。
インストール後、Cedrus RB-740を接続します。
デバイスマネージャーで「ポート(COMとLPT)」と「ユニバーサルシリアルバスコントローラ」の項目を確認し、COMポート名を確認します。
・macOS
こちらの案内にしたがってドライバをインストールします。めんどくさい。
というか、まだ成功してません。要確認ですね。。
インストール時はVCP (Virtual COM port)というドライバを使って接続するとのこと。こちらはややタイミング精度が落ちます。
macOS 10.11 “El Capitan” 以降だとインストールせずともVCPが利用できるそうです。一方、"Yosemite"以前だとインストール手続きが必要です。
D2xxを利用するには、"D2xxHelper"を使ってドライバをインストールします。
D2xxとVCPは共存できないので、ターミナルコマンドでVCPを削除する必要があります。
インストール・再起動・接続後、ターミナルから下記を入力、ポート名を確認します。
ls -l /dev/tty.usb*
Psychtoolboxでの利用(Matlab)
Matlabを起動し、コマンドライン上で下記を実行する。
port=%確認したポート名
rb740=CedrusResponseBox(‘Open’, port);
dev=CedrusResponseBox('GetDeviceInfo',rb740);
disp(dev.Name);
CedrusResponseBox('Close',rb740);
"Cedrus x40…”等が表示されればOK。
Psychopyでの利用(Python)
Pythonで利用する場合は、XIDデバイスと通信するためのPythonライブラリ、pyxidをインストールする必要がある。
https://pypi.org/project/pyxid2/
pipを使ってインストールする場合は、Windowsのコマンドプロンプトやmac・Linuxのターミナル上で下記を実行します。
pip install pyxid2
Psychopyでの利用を試みます。Coderを開き、以下のスクリプトを実行する。
from __future__ import division
from psychopy import core
try: # to use the Cedrus response box
import pyxid2 as pyxid
except ImportError:
import pyxid
rb740 = None
for n in range(10):
try:
devices = pyxid.get_xid_devices()
core.wait(0.1)
rb740 = devices[0]
print(rb740)
break # found a device so can break the loop
except Exception:
pass
if not rb740:
print('No Cedrus Response Box.')
core.quit()
2020年2月20日:初版
2020年3月2日:一部改変
2020年3月3日:一部改変