眠気を客観的に計測するために「精神動態覚醒水準課題テスト(PVTテスト)」が使われていますが、高価なデバイスだったりPC画面を利用するなど手軽にできないので、M5Stack Basicが手に持ちやすく押しボタンもクリックがあり良い感じなので、実際に作ってみることにしました。
PVTテストはいろいろノウハウがあるのですが、PC画面のPVTテスト(私の作成)機能の一部を組み込んで完成させました。
単純反応の課題は単純すぎて眠気がわかりにくいのですが、選択課題2など複雑になると午後の眠い時に実施すると確実に正答率が下がり反応時間のばらつきも大きくなります。
設定の変更などを組み込んで、実際に睡眠研究や労働安全分野などで使えるような製品まで作り上げていく予定です。
サンプルデモプログラム(arduinoIDE環境)を公開します。制限条件は、検査条件は固定(Select1)、SD保存などは不可(1回分の内部保存は可能) https://drive.google.com/drive/folders/1XoJbFv34TU-NCLSjd7pV70n2ZdKAcFrx?usp=sharing
M5Stack Basicの押しボタンで反応時間を計測するデバイスを作成します。 PVTテストは、指定したマークが出た時だけボタンを押してその反応時間を集計します。
テストモードは3種類
・単純反応時間 ■マークが出たら押す
・選択反応1 ■マークが出たら押し、その他は無視する
・選択反応2 ■マークが出たら右押し、●マークは左押し、その他は無視する
マークの提示間隔は2秒±ランダムな時間で一定にならないようにする
マーク提示は400ms
条件設定の変更も可能(変更は内部フラッシュに保持)
ボタン押しは100ms~800ms 範囲外はエラーとする
レポート集計は、正答率、反応時間の平均とSD、回帰直線を計算して傾きと回帰係数
結果は、SDカードが入っていれば自動的にテキスト形式で保存する
オプション機能で、結果表示のLCD画面のスクリーンショットをBMP形式でSDカードに同時記録
1データ分だけであれば、SAVE動作で内部フラッシュに記録が可能です。
補足
・SDカードにWIFIのSSID、PASSを指定しておけば起動時に時刻同期
・右利き左利きの選択が可能(選択反応2の時に有用)
サンプルデモプログラム(arduinoIDE環境)
固定条件、SD保存不可
https://drive.google.com/drive/folders/1XoJbFv34TU-NCLSjd7pV70n2ZdKAcFrx?usp=sharing