Я использую блок кнопок, подключенный через последовательный порт, для запуска эксперимента в Psychopy.
from binascii import hexlify
import serial
import serial.tools.list_ports as port_list
ports = list(port_list.comports()) # search for the devices
#for p in ports: print (p)
ser = serial.Serial('/dev/ttyUSB0', 19200, bytesize=8, parity='N', stopbits=1, timeout=0)
if(ser.isOpen() == False): #open the serial port only if NOT open yet
ser.open()
ser.flush()
В эксперименте у меня есть 4 процедуры. Предположим, что каждая процедура содержит письменный текст, соответственно text_1
, text_2
, text_3
и text_4
. Если участник находится, например, в text_1
и он / она нажимает кнопку, эксперимент переходит к text_2
.
Однако я сталкиваюсь со следующей проблемой. Если участник находится в text_1
и быстро нажимает кнопку дважды, эксперимент переходит к text_3
, а не к text_2
, как будто что-то хранит информацию. Вместо этого я хотел бы, чтобы, если вы находитесь в text_1
и нажимаете дважды, считается только первое нажатие.
Каждый text
код подобен этому
ser.flush()
for line in ser.read(1):
hex = hexlify(line)
num_1=int(hex, 16)
continueRoutine = False #this makes the experiment go to the next text
Что бы я мог добавить, чтобы сделать так, чтобы не было хранения информации (если это действительно происходит)?