如何在Python脚本中实现触发器

如何在Python脚本中实现触发器,python,io,psychopy,parallel-port,Python,Io,Psychopy,Parallel Port,我有一个心理物理实验的心理变态脚本,参与者看到不同的形状,必须以特定的方式做出反应。我想在不同的计算机上进行生理测量(ECG),并在测量中实现事件点。因此,每当参与者看到刺激时,我都希望它出现在心电图上 基本上,我想为并行端口I/o添加命令 老实说,我甚至不知道从哪里开始。关于这一点,我已经读了很多,但我还是迷路了。对于并行端口io,您应该使用。进行连续的ECG测量,存储这些数据,并存储时间戳和每个刺激所需的任何元数据。用于启动的伪代码: while True: store_ecg()

我有一个心理物理实验的心理变态脚本,参与者看到不同的形状,必须以特定的方式做出反应。我想在不同的计算机上进行生理测量(ECG),并在测量中实现事件点。因此,每当参与者看到刺激时,我都希望它出现在心电图上

基本上,我想为并行端口I/o添加命令


老实说,我甚至不知道从哪里开始。关于这一点,我已经读了很多,但我还是迷路了。

对于并行端口io,您应该使用。进行连续的ECG测量,存储这些数据,并存储时间戳和每个刺激所需的任何元数据。用于启动的伪代码:

while True:
    store_ecg()
    if time_to_show():
        stimulus()
    time.sleep(0.1) # 10 Hz

下面可能是显示形状和发送触发器的最短完全工作代码:

从psychopy导入视觉、并行、核心
win=visual.Window()
shape=可视。ShapeStim(win)
#表现出来
shape.draw()
win.flip()
#立即发送触发器
parallel.setData(10)#触发代码,这里是10
core.wait(0.020)#发送此触发代码的秒数(足够硬件发送和接收器识别)
parallel.setData(0)#停止发送触发器。
当然,你可以通过将刺激呈现和触发放在一个循环中(运行试验)来扩展这一点,并同时做其他各种事情,例如收集反应和保存数据。这只是刺激呈现和触发的一个小例子


翻转窗口后立即定位触发代码是非常有目的的。在大多数硬件上,发送触发器的速度非常快(端口上的电压在脚本中运行的线路的1毫秒内发生变化),而监视器仅每隔16.7毫秒更新一次其图像,并且
win.flip()
等待后者。我举了一些例子。

我认为您可能需要知道的不仅仅是如何发出并行端口命令,还有两台独立计算机之间的信息通信问题。它们是在同一个网络上,还是希望通过并行端口在它们之间传输所有数据?后者-通过并行端口