PsychoPyでNI-DAQmxを使う方法

Windows

はじめに

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のホームページからダウンロードしてインストールします。

Anaconda | The Operating System for AI
Democratize AI innovation with the world’s most trusted open ecosystem for data science and AI devel...

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をダウンロードしてインストールします。

https://www.ni.com/ja-jp/support/downloads/drivers/download.ni-daqmx.html#291872

Anaconda Powershell Prompt(anaconda3)を管理者権限で起動します。
仮想環境psychoに入ってからnidaqmxをインストールします

conda activate psycho
pip install nidaqmx
NI-DAQmx Python Documentation — nidaqmx 1.0.0-dev1 documentation

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