OpenSesame
Rapunzel Code Editor
DataMatrix
Support forum
Python Tutorials
MindProbe
Supported by

Boîte SR

À propos du plugin srbox

La boîte de réponse série (SR) est une boîte à boutons, spécifiquement conçue pour la collecte de réponses dans les expériences psychologiques. La version originale, développée par Psychology Software Tools, dispose de 5 boutons, 5 lumières et est connectée au PC via le port série. Il existe également des dispositifs compatibles avec la boîte SR Box fabriqués par d'autres fabricants, qui peuvent différer par le nombre de boutons et de lumières et utilisent souvent une connexion USB qui émule un port série.

Le plugin srbox pour OpenSesame vous permet d'utiliser la boîte SR Box ou un dispositif compatible dans vos expériences OpenSesame.

Capture d'écran

/pages/fr/manual/response/img/srbox/srbox.png

Figure 1. Le plugin srbox dans OpenSesame.

Définition du nom du périphérique

Par défaut, le plugin essaie de détecter automatiquement votre SR Box. Si cela fonctionne, vous n'avez pas besoin de le changer. Si votre expérience se bloque, OpenSesame a choisi le mauvais port série et vous devez entrer manuellement le nom du périphérique. Sous Windows, le périphérique est probablement appelé quelque chose comme

COM4

Sous Linux, le périphérique est probablement appelé quelque chose comme

/dev/tty0

Exigences

Une boîte de boutons SR Box ou compatible. Toutes les boîtes de boutons ne sont pas compatibles, voir :

Utiliser la SR Box depuis du code Python en ligne

L'objet srbox n'existe pas lorsque le plug-in est en mode factice.

instance srbox

Si vous insérez le plugin srbox au début de votre expérience, une instance de srbox fait automatiquement partie de l'objet d'expérimentation et peut être accessible dans un élément de script en ligne sous srbox.

Note importante 1 :

Si vous ne spécifiez pas de périphérique, le plugin essayera de détecter automatiquement le port SR Box. Cependant, sur certains systèmes, cela fige l'expérience, il est donc préférable de spécifier explicitement un périphérique.

Note importante 2 :

Vous devez appeler [srbox.start] pour mettre la SR Box en mode envoi, avant d'appeler [srbox.get_button_press] pour collecter une pression de bouton.

Exemple :

t0 = clock.time()
srbox.start()
button, t1 = srbox.get_button_press(allowed_buttons=[1, 2],
                                    require_state_change=True)
if button == 1:
    response_time = t1 - t0
print(f'Le bouton 1 a été pressé en {response_time} ms !')
srbox.stop()

get_button_press(allowed_buttons=None, timeout=None, require_state_change=False)

Collecte une pression de bouton de la SR Box.

Paramètres

  • allowed_buttons: Une liste de boutons acceptés ou None pour accepter tous les boutons. Les boutons valides sont des entiers de 1 à 8.
  • timeout: Une valeur d'expiration en millisecondes ou None pour aucune expiration.
  • require_state_change Indique si un bouton déjà pressé doit être accepté: (False), ou si seulement un changement d'état de non pressé à pressé est accepté (True).

Renvoie

  • Un tuple (button_list, timestamp). button_list est None si aucun bouton n'a été pressé (c'est-à-dire si un délai d'expiration est survenu).

send(ch)

Envoie un seul caractère à la SR Box. Envoyez '`' pour éteindre toutes les lumières, 'a' pour allumer la lumière 1, 'b' pour allumer la lumière 2, 'c' pour les lumières 1 et 2 allumées, etc.

Paramètres

  • ch: Le caractère à envoyer. Si une str est passée, elle est codée en bytes en utilisant l'encodage utf-8.

start(self)

Active le mode d'envoi, de sorte que la SR Box commence à envoyer des sorties. La SR Box doit être en mode d'envoi lorsque vous appelez [srbox.get_button_press].

stop(self)

Désactive le mode d'envoi, de sorte que la SR Box cesse de fournir des sorties.

Supported by