心理学实验刺激呈现反应时认知实验编程 psychopy : https://item.taobao.com/item.htm?spm=a230r.1.14.6.Q6E2OW&id=530690095131&ns=1&abbucket=15#detail
配置心理学实验时所需要的自变量是一个麻烦的问题,在这里,介绍一种简单快速配置实验变量的方法。这个方法确保了程序的简单、可读,减少了编程出bug的可能。
实验过程
呈现一个注视屏,上面有三个框,中间的框里有注视点,800ms
然后左边或右边的框中出现一个圆,圆的颜色是红、绿、蓝其中一种,200ms
接着继续呈现注视屏,400ms或700ms
再呈现目标刺激,是一个"*",被试需要立即按下'j'键。如果被试在"*"出现前按下按键,那么反馈"请看到*后再按键",如果被试超过1000ms都没有按键,那么反馈"请在*出现1秒内反馈"。反馈信息显示1000ms
最后呈现一个700ms的空屏
试次分为正常试次和探测试次。正常试次按以上流程,探测试次在呈现目标刺激阶段时,不呈现"*"。
自变量
color 线索颜色: 红、绿、蓝
cloc 线索位置: 左边 右边
soa :400ms 700ms
tloc 目标刺激: 左边 右边 不呈现
因变量
被试的按键:"j"
按键反应时
其中,反应时为-1000表示被试提前按键,按键为timeout表示被试超时。
实验设计
共360试次,其中80%正常试次,20%探测试次。在这两种试次中,自变量的各种情况都均匀分布。
需要记录的结果
被试id 试次 color cloc soa tloc key RT
编程技巧
把几个关键屏写成函数
ShowFixation1 | 显示第一个注视屏 | |
ShowCue | 显示线索屏幕 | |
ShowFixation2 | 显示第二个线索屏 需要检测是否提前按键 |
返回'timeout'说明被试没按键 返回'j'说明被试提前按键 |
ShowTarget | 显示目标刺激 | 返回('j', 789)表示被试正常按键 返回('timeout',0)表示被试超时 返回('q', 765)表示退出实验 |
ShowTimePre | 显示反应提前 | |
ShowTimeOut | 显示反应超时 | |
ShowBlank | 显示空屏 |
快速配置试次
from itertools import *
import random
colors = ['red', 'blue', 'green']
clocs = ['left', 'right']
soas = [