はじめに
PsychoPyでNI(National Instruments)のUSB NI-6008を使いたかったので設定しました。
当初、PsychoPyのStandalone版を使ったのですが、これにはPythonのライブラリ・モジュールを追加でインストールすることができませんでした。
いろいろ設定をすればできるようですが、使い勝手やメンテナンスを考慮すると除外せざるを得ませんでした。
環境
Windows11 64bit Pro Anaconda3 2022.10 Anaconda3-2022.10-Windows-x86_64.exe
Anacondaで作成する仮想環境です。
PsychoPyのホームページを見ると「Python 3.8」を推奨しています。
Python 3.8 JupyterLab PsychoPy
Anacondaのインストール
Anacondaのホームページからダウンロードしてインストールします。

PsychoPyのインストール
Anaconda Powershell Prompt(anaconda3)を管理者権限で起動します。
PsychoPy専用の仮想環境をpsychoの名前で作成します。
conda create -n psycho python=3.8 conda activate psycho pip install psychopy pip install SDL
PsychoPyの起動
Anaconda Powershell Prompt(anaconda3)を管理者権限で起動します。
仮想環境psychoに入ってからPsychoPyを起動します
conda activate psycho psychopy
NI-DAQmxのインストール
NI-DAQmxをダウンロードしてインストールします。
Anaconda Powershell Prompt(anaconda3)を管理者権限で起動します。
仮想環境psychoに入ってからnidaqmxをインストールします
conda activate psycho pip install nidaqmx
JupyterLabのインストールと起動
Anaconda Powershell Prompt(anaconda3)を管理者権限で起動します。
仮想環境psychoに入ってからJupyterLabをインストール、起動します
conda activate psycho pip install jupyterlab jupyter lab
JupyterLabで以下を入力してPsychoPyのwindowを開くテストを行います。
from psychopy import visual, core win = visual.Window()
nidaqmxのテスト
JupyterLabでテストします。
パソコンにUSB NI-6008を接続して、NI-DAQmxで認識することを確認、動作テストします。
JupyterLabに以下を入力して、デジタル出力に出力できているかオシロスコープで確認します。
with nidaqmx.Task() as task: task.ao_channels.add_ao_voltage_chan("Dev1/ao0") task.write([1.1, 2.2, 3.3, 4.4, 5.5], auto_start=True)
NI-DAQmxでのアナログ入力のテスト。
Function generatorでアナログ入力にsin波を入力しています。
デジタル出力へのテスト。
Comments