Line 103: |
Line 103: |
| | | |
| === Python/PsychoPy === | | === Python/PsychoPy === |
− |
| |
− | Download this site-package to use the buttonbox: [https://pypi.python.org/pypi/RuSocSci rusocsci]
| |
− |
| |
− | or use in windows command 'pip install --upgrade rusocsci'
| |
− |
| |
− | '''Example using buttons from the buttonbox in Python:'''
| |
− |
| |
− | <syntaxhighlight lang="python" line>
| |
− | #!/usr/bin/env python
| |
− |
| |
− | # import the rusocsci.buttonbox module
| |
− | from rusocsci import buttonbox
| |
− |
| |
− | # make a buttonbox
| |
− | bb = buttonbox.Buttonbox()
| |
− |
| |
− | # wait for a single button press
| |
− | b = bb.waitButtons()
| |
− |
| |
− | # print the button pressed
| |
− | print("b: {}".format(b))
| |
− | </syntaxhighlight>
| |
− |
| |
− | '''Example using markers with the buttonbox in Python:'''
| |
− |
| |
− | <syntaxhighlight lang="python" line>
| |
− | #!/usr/bin/env python
| |
− |
| |
− | # import the rusocsci.buttonbox module
| |
− | from rusocsci import buttonbox
| |
− |
| |
− | # make a buttonbox
| |
− | bb = buttonbox.Buttonbox()
| |
− |
| |
− | # send a marker
| |
− | bb.sendMarker(val=100) #This is your marker code, range code 1-255
| |
− | </syntaxhighlight>
| |
| | | |
| <br/>'''Example using the Vertical Sync sensor in PsychoPy:''' | | <br/>'''Example using the Vertical Sync sensor in PsychoPy:''' |
Line 148: |
Line 111: |
| # import psychopy and rusocsci | | # import psychopy and rusocsci |
| from psychopy import core, visual | | from psychopy import core, visual |
− | from rusocsci import buttonbox
| + | import serial |
| + | import time |
| | | |
| ## Setup Section | | ## Setup Section |
− | win = visual.Window(monitor="testMonitor") | + | win = visual.Window([400,400], fullscr=True, winType = "pyglet", monitor="testMonitor",color=(-1, -1, -1), units='cm', |
− | bb = buttonbox.Buttonbox()
| + | waitBlanking=True) |
− | text = visual.TextStim(win, "Press a button on the buttonbox")
| + | # connect to Vertical Sync sensor, find com port number |
| + | ser = serial.Serial('com3', 115200, timeout=1.0) |
| + | rect = visual.Rect(win, .15, .25, pos=(-1, 1),fillColor="white", units="norm") |
| + | |
| + | # define treshold for OFF by sending a code |
| + | ser.write(b'1') |
| | | |
| ## Experiment Section | | ## Experiment Section |
| # show text | | # show text |
− | text.draw()
| + | rect.draw() |
| win.flip() | | win.flip() |
− | # wait for response | + | tok = time.perf_counter() |
− | b = bb.waitButtons() | + | # wait for a sync square |
| + | b = ser.read() |
| + | tik = time.perf_counter() |
| # show response | | # show response |
− | text.setText("you pressed: {}".format(b))
| + | print("your timing: {}".format(tik-tok)) |
− | text.draw()
| |
− | win.flip()
| |
− | core.wait(5)
| |
| | | |
| ## Cleanup Section | | ## Cleanup Section |
| core.quit() | | core.quit() |
| </syntaxhighlight> | | </syntaxhighlight> |
− |
| |
− | For more documentation click here: http://pythonhosted.org//RuSocSci/index.html
| |
− | <br>
| |
− | <br>
| |
| | | |
| === Matlab === | | === Matlab === |