Build your first PsychoPy experiment (Stroop task)
-
0:01 - 0:03Hola. Me llamo Jon Peirce.
-
0:03 - 0:04Soy profesor de la Universidad de Nottingham.
-
0:04 - 0:07Soy el creador de Psychopy.
-
0:07 - 0:09En este video les voy a ensenar
-
0:09 - 0:10como crear un sencillo experimento en Psychopy.
-
0:10 - 0:12Vamos a usar el efecto "Stroop"
-
0:12 - 0:15Cuando abres Psychopy
-
0:15 - 0:17te encontraras con dos ventanas
-
0:17 - 0:20La primera es el "builder", la cual te permite
-
0:20 - 0:22crear tus experimentos graficamente (solo con botones)
-
0:22 - 0:25y el otro es el "coder", el cual te permite
-
0:25 - 0:28crear los experimentos usando programacion
-
0:28 - 0:30en caso de que quieras escribir el experimento directamente.
-
0:30 - 0:33Hoy vamos a crear el experimento con el "builder".
-
0:33 - 0:37El "builder" tiene 3 paneles
-
0:37 - 0:41Tiene tambien "componentes", y una o mas "rutinas".
-
0:41 - 0:43En este caso tenemos hecha una unica rutina llamada "trial" (ensayo)
-
0:43 - 0:46que tiene un flujo que te ayuda
-
0:46 - 0:52a combinar distintas rutinas.
-
0:52 - 0:54Para el caso de la tarea "stroop", vamos a necesitar
-
0:54 - 0:56un objeto de texto como parte de nuestro "trial"
-
0:56 - 0:58ya que necesitamos mostrar palabras a los sujetos.
-
0:58 - 1:01Creemos un objeto de texto entonces.
-
1:01 - 1:04Le vamos a llamar "target". Lo haremos que aparezca
-
1:04 - 1:06a los 0.5 segundos
-
1:06 - 1:09y que dure por 5 segundos.
-
1:09 - 1:12Noten que cada uno de estos parametros
-
1:12 - 1:14al situarme con el mouse encima, me dan un consejo para
-
1:14 - 1:18informarme acerca de lo que se espera que yo incluya.
-
1:18 - 1:21Hay tambien un boton de ayuda. Si hago click en el
-
1:21 - 1:24me llevara al sitio de Psychopy, donde se encuentra
-
1:24 - 1:27una informacion mas detallada sobre como usar
-
1:27 - 1:30el componente en particular.
-
1:30 - 1:33Por ahora no vamos a agregar ni el color ni el texto
-
1:33 - 1:37del objeto de texto que estamos creando. Eso lo vamos a hacer
-
1:37 - 1:39mas tarde.
-
1:39 - 1:43Haciendo click en "OK", vemos el objeto de texto
-
1:43 - 1:46que aparece ahora en nuestra rutina y si queremos editarlo
-
1:46 - 1:48simplemente hacemos click en el icono de nuevo y
-
1:48 - 1:51podemos volver y cambiar nuestro estimulo.
-
1:51 - 1:54Podriamos querer presentarlo por 4 segundos en vez de 5,
-
1:54 - 1:57Asi que ya cambiamos asi su presentacion.
-
1:57 - 2:01Para esta tarea, tambien necesitamos
-
2:01 - 2:04que los sujetos respondan, asi que agreguemos un teclado
-
2:04 - 2:10a esta rutina. Lo vamos a llamar "response".
-
2:10 - 2:13Lo haremos partir tambien en los 0.5 segundos.
-
2:13 - 2:15No queremos que los sujetos puedan responder antes de
-
2:15 - 2:17que el estimulo es presentado
-
2:17 - 2:21Lo hare que tenga duracion infinita.
-
2:21 - 2:24Si dejamos el espacio en blanco, el teclado
-
2:24 - 2:27va a estar disponible para siempre.
-
2:27 - 2:30Vamos a dejar las "allowed keys" (teclas permitidas) como estan.
-
2:30 - 2:32Vamos a volver a ellas mas tarde,
-
2:32 - 2:34cuando configuremos nuestros ensayos.
-
2:34 - 2:41OK. Ahora sabemos que nuestro teclado va
-
2:41 - 2:43a durar para siempre.
-
2:43 - 2:47Entonces, asi es como se va a ver un ensayo en terminos generales
-
2:47 - 2:50para la tarea "Stroop". Pero necesitamos, obviamente, correr
-
2:50 - 2:50mas de un ensayo y por ahora tenemos esta
-
2:52 - 2:54rutina apareciendo solamente una vez en nuestro flujo.
-
2:54 - 2:58Insertemos un loop sobre el ensayo
-
2:58 - 3:00para que podamos repetirlo
-
3:00 - 3:03Si hago click en "Insert Loop" (insertar loop) una sola vez,
-
3:03 - 3:05y selecciono, de nuevo con un solo click,
-
3:05 - 3:09donde quiero que el loop comience y termine,
-
3:09 - 3:13Se abre una ventana, preguntando
-
3:13 - 3:15como le llamare a este loop.
-
3:15 - 3:16Le vamos a poner "trials", bien simple.
-
3:16 - 3:21Debiera ser "random" (aleatorio) o "sequential" (secuencial) en elegir la siguiente condicion?
-
3:21 - 3:23Digamos aleatorio.
-
3:23 - 3:26Tendremos cinco repeticiones, y tendremos
-
3:26 - 3:28que ir y especificar nuestro "archivo de condiciones".
-
3:28 - 3:30Ahora, notemos que esta preguntando por un ensayo,
-
3:30 - 3:34un archivo que puede ser CSV o XLSX. Tenemos que salir e
-
3:34 - 3:36ir a Excel para crear nuestro archivo de condiciones.
-
3:36 - 3:40Y hacer click en "OK". Veras que Psychopy insertara
-
3:40 - 3:43un loop sobre el trial.
-
3:43 - 3:45Grabemos ahora el experimento
-
3:45 - 3:48para que no lo perdamos.
-
3:48 - 3:54Grabado. Voy a crear una nueva carpeta en
-
3:54 - 4:01mi escritorio que voy a llamar "Stroop" y
-
4:01 - 4:05al archivo "Stroop Experiment".
-
4:05 - 4:09OK.
-
4:09 - 4:14La forma mas simple de definir condiciones
-
4:14 - 4:19para tu experimento es usar una tabla
-
4:19 - 4:20de Excel.
-
4:20 - 4:22Asi podemos crear los parametros para
-
4:22 - 4:25nuestro experimento, como la palabra que
-
4:25 - 4:28vamos a presentar, o el color que
-
4:28 - 4:31tendra la palabra, y asi podemos crear
-
4:31 - 4:34distintas condiciones. Especificamos una
por fila. -
4:34 - 4:38Para la tarea "Stroop", podemos por ejemplo
usar la palabra "red" -
4:38 - 4:44escrita en rojo. Tambien podemos tener
la palabra "red" escrita -
4:44 - 4:48en verde. Podemos tener la palabra "green"
-
4:48 - 4:51escrita en verde, etc.
-
4:51 - 5:04"Green" en azul. "Blue" en azul.
"Blue" en rojo. -
5:04 - 5:08Voy a llevar un registro acerca
-
5:08 - 5:10de si son o no congruentes.
No necesitamos hacerlo ahora. -
5:10 - 5:13Siempre se puede dejar para despues,
pero es -
5:13 - 5:16conveniente tenerlos grabados.
-
5:16 - 5:18Entonces, a congruente le doy,
digamos, el valor "1" -
5:18 - 5:21que significa "true" (verdadero)
y "0" para "false" (falso). -
5:21 - 5:25Esto va a ser util mas adelante.
-
5:25 - 5:28Ahora necesitamos especificar
cual es -
5:28 - 5:31la respuesta correcta, porque
Psychopy querra saber -
5:31 - 5:34si el sujeto respondio correctamente o no.
-
5:34 - 5:40A esto le voy a llamar "corrAns".
-
5:40 - 5:44Estos parametros no pueden usar ningun
tipo de puntuacion -
5:44 - 5:48o espacio en sus nombres. Asi que voy a
-
5:48 - 5:51sacarle el espacio y darle
una letra mayuscula -
5:51 - 5:54para especificar la respuesta correcta
-
5:54 - 5:57En este caso, vamos a usar las
teclas "left" (izquierda) -
5:57 - 6:02"down" (abajo), y "right" (derecha)
del teclado -
6:02 - 6:06Entonces, voy a especificar ese "red"
y recordemos -
6:06 - 6:08que en la tarea "Stroop" a los sujetos
se les pide -
6:08 - 6:11reportar el color del texto antes que
-
6:11 - 6:14la palabra en si. Entonces, cuando el color es rojo, les voy
-
6:14 - 6:16a pedir a los sujetos que presionen "left" (izquierda).
-
6:16 - 6:19Esa es la tecla "left" (izquierda)
-
6:19 - 6:21Cuando es verde debieran presionar "down" (abajo)
-
6:21 - 6:23"Down" de nuevo.
-
6:23 - 6:26Cuando el color es "blue"
tienen que presionar "right" -
6:26 - 6:28"Right" (derecha).
-
6:28 - 6:32Y ahora me salio "red" de nuevo,
asi que debieran -
6:32 - 6:33presionar "left" (izquierda).
-
6:33 - 6:36OK. Eso define seis condiciones distintas
-
6:36 - 6:39para nuestro experimento,
con cuatro parametros diferentes. -
6:39 - 6:41OK. Grabemos el archivo.
-
6:41 - 6:47Voy a usar la misma carpeta de mi
-
6:47 - 6:49experimento, aunque no es obligatorio.
-
6:49 - 6:53Y lo voy a llamar "conditions.xlsx".
-
6:53 - 6:54Es muy importante que el archivo lo grabes
-
6:54 - 6:58en formato XLSX. Psychopy no puede usar los
-
6:58 - 7:02antiguos archivos XLS.
-
7:02 - 7:08Hacemos click en "Grabar" (Save) y listo.
-
7:08 - 7:12Ahora tenemos que decirle a PsychoPy donde esta el archivo
-
7:12 - 7:14y como usarlo durante los ensayos.
-
7:14 - 7:19La forma de hacerlo es usando el cuadro
de dialogo loop. -
7:19 - 7:22Entonces, si haces click en el loop otra vez
-
7:22 - 7:25obtendremos las propiedades del loop
-
7:25 - 7:27y tendremos un archivo de condiciones. Si buscamos,
-
7:27 - 7:31podemos seleccionar el archivo que acabamos de crear,
-
7:31 - 7:37lo abrimos, y me dice que hay
-
7:37 - 7:40seis condiciones con cuatro parametros diferentes.
-
7:40 - 7:42Los parametros son color ("color"),
word ("palabra"), congruent ("congruente") -
7:42 - 7:43y correct answer ("respuesta correcta").
-
7:43 - 7:48Ok? Si por alguna razon
el archivo fuera invalido -
7:48 - 7:50tal vez porque dejamos un espacio
en alguno de los titulos de nuestras columnas -
7:50 - 7:52entonces vamos a recibir una advertencia
-
7:52 - 7:54diciendonos que no vamos a poder usar el archivo
-
7:54 - 7:57o no nos mostraria los parametros.
-
7:57 - 8:00Ahora podemos hacer click en "OK". Esta mostrando que
-
8:00 - 8:05tenemos seis ensayos aleatorios repetidos cinco veces.
-
8:05 - 8:10Es decir, cinco repeticiones distintas de seis condiciones distintas.
-
8:10 - 8:15OK, ahora el archivo con las condiciones esta configurado
-
8:15 - 8:17aqui para que en cada repeticion durante el loop
-
8:17 - 8:18usemos una fila diferente.
-
8:18 - 8:21Todavia resta decirle al estimulo que
-
8:21 - 8:24parametros usar.
-
8:24 - 8:26Queremos que el color de nuestro estimulo sea determinado
-
8:26 - 8:31por el parametro color. Aqui he escrito
-
8:31 - 8:35"$colour", con una "u" porque asi
-
8:35 - 8:38asi es como lo escribimos en el archivo de Excel.
-
8:38 - 8:43Y el simbolo "$" es para decirle a Psychopy "Este no es
-
8:43 - 8:46un valor literal, es una variable."
-
8:46 - 8:48Ok? Entonces, va a partir y encontrar
-
8:48 - 8:50una variable llamada "colour" y ver cual es el valor
-
8:50 - 8:52actual de esa variable.
-
8:52 - 8:54Va a ser rojo o verde o azul.
-
8:54 - 8:59Tambien voy a configurarlo para que cambie en cada repeticion
-
8:59 - 9:01en vez de ser constante.
-
9:01 - 9:03Ok? No queremos que nuestro estimulo este
-
9:03 - 9:07fijo en un color en particular para todo el experimento.
-
9:07 - 9:11De la misma forma, el texto del estimulo "text" debiera ser
-
9:11 - 9:16la palabra que especificamos en el archivo de Excel
-
9:16 - 9:19y no debiera ser "word", debiera ser la variable
-
9:19 - 9:22"word" de modo que vaya y busque esa variable
-
9:22 - 9:25que va a ser red ("rojo") o green ("verde") o blue ("azul").
-
9:25 - 9:29Y de nuevo, queremos que cambie en cada repeticion
-
9:29 - 9:31de esta rutina.
-
9:31 - 9:41Ok. Tambien necesitamos configurar la respuesta para que este
-
9:41 - 9:45basada en las condiciones. Por lo tanto tengo que cambiar
-
9:45 - 9:47las teclas que van a estar permitidas para que
-
9:47 - 9:49el sujeto responda. No queremos que
-
9:49 - 9:52usen el yes" o el "no". Queremos que usen
-
9:52 - 9:57"left", "right" and "down". Asi que noten que todas las teclas
-
9:57 - 10:01que quiero agregar tengo que separarlas por comas
-
10:01 - 10:05y tengo que poner comas invertidas alrededor de los nombres
-
10:05 - 10:07de cada tecla.
-
10:07 - 10:12Si lo dejo en blanco entonces todas las teclas
-
10:12 - 10:15estaran disponibles. Ok? Esto le permite al sujeto
-
10:15 - 10:20presionar cualquier tecla. Tambien tengo aqui "forceEndRoutine"
-
10:20 - 10:23activado. Dejamos que la respuesta sea
-
10:23 - 10:26infinita, pero apenas el sujeto presione una tecla
-
10:26 - 10:28va a forzar el termino del ensayo.
-
10:28 - 10:30Asi que eso es algo que nos sirve.
-
10:30 - 10:33Tambien vamos a grabar la respuesta correcta.
-
10:33 - 10:37De modo que si activo esa opcion, tenemos que decirle a PsychoPy
-
10:37 - 10:39cual es la respuesta correcta para este ensayo
-
10:39 - 10:44y su lo recuerdan, esto fue grabado como "corrAns".
-
10:44 - 10:48De nuevo, necesitamos usar "$corrAns" para especificar
-
10:48 - 10:53el hecho de que es un nombre de una variable
-
10:53 - 10:55no debiera ir a buscar una palabra llamada "corrAns"
-
10:55 - 10:57porque nunca la va a encontrar. Debe usar
-
10:57 - 11:01la variables variable "corrAns". Y asi estamos listos. OK.
-
11:01 - 11:07Grabamos. Ok, ya estamos casi listos.
-
11:07 - 11:10Esto debiera ser ya un experimento funcionando, pero tambien nos gustaria
-
11:10 - 11:12agregar algunas instrucciones para el sujeto.
-
11:12 - 11:15Voy a agregar una rutina.
-
11:15 - 11:21Cuando hago click en ese boton, me muestra la opcion "new"
-
11:21 - 11:24o "trial". Seleccionemos "new" y llamemosla
-
11:24 - 11:31"instructions".
-
11:31 - 11:36Me pregunta donde quiero insertar las instrucciones.
-
11:36 - 11:38No queremos que las inserte aca porque eso
-
11:38 - 11:40repetiria las instrucciones en cada ensayo.
-
11:40 - 11:44Pongamosla antes del loop. Y ahora podemos hacer click
-
11:44 - 11:49en la rutina de instrucciones y editarla.
-
11:49 - 11:52Entonces vamos a necesitar otro objeto de texto.
-
11:52 - 12:02Lo vamos a llamar "instrText",
-
12:02 - 12:06que empiece en el tiempo cero. Duracion? Lo hacemos infinito.
-
12:06 - 12:12Color blanco, perfecto. Y le vamos a dar el texto
-
12:12 - 12:28"Recuerde escoger el color de las letras,
-
12:28 - 12:34ignorando la palabra:
-
12:34 - 12:47izquierda=rojo, abajo=verde, derecha=azul
-
12:47 - 12:49Ok.
-
12:49 - 12:55Ahora, dado que hemos hecho que el texto dure para siempre
-
12:55 - 12:56le dimos duracion infinita, necesitamos asegurarnos
-
12:56 - 12:59de que el sujeto puede deshacerse de el.
-
12:59 - 13:05Entonces, vamos a hacer click en "keyboard" (teclado)
y vamos a permitir cualquier tacla -
13:05 - 13:10vamos a forzar el termino de la rutina,
-
13:10 - 13:13y no nos vamos a preocupar de grabar nada
-
13:13 - 13:16Lo hacemos que dure para siempre.
-
13:16 - 13:18Ok.
-
13:18 - 13:24Si te equivocas, debieras siempre poder ser capaz
-
13:24 - 13:26de presionar "escape" y todavia podras salir
-
13:26 - 13:27del experimento sin la necesidad
-
13:27 - 13:29de reiniciar el computador.
-
13:29 - 13:31Ok, voy a grabarlo de nuevo.
-
13:31 - 13:33Creo que ya estamos listos.
-
13:33 - 13:37Ok, echemosle una mirada rapida
-
13:37 - 13:39al cuadro de dialogo "Experiment Settings".
-
13:39 - 13:42En este dialogo, podemos controlar cosas como si
-
13:42 - 13:45el mouse va a estar o no visible durante el experimento,
-
13:45 - 13:48el color del fondo de pantalla,
-
13:48 - 13:51si va a presentarse en una ventana o en pantalla completa,
-
13:51 - 13:54si va a ser en la pantalla 1 o en la pantalla 2, en caso
-
13:54 - 13:57de que tengas varios monitores, y que tipo de archivos de datos
-
13:57 - 14:00you want to save out.te gustaria grabar. Asi que un monton
-
14:00 - 14:02de cosas utiles para controlar tu experimento.
-
14:02 - 14:05Ahora, en este punto podemos ver el codigo del programa.
-
14:05 - 14:09Que te va a permitir ir y tal vez aprender un poco
-
14:09 - 14:15de como funciona Python. Tiene alrededor de 220 lineas
-
14:15 - 14:18este experimento, asi que no
-
14:18 - 14:22es un codigo muy complicado. Pero no lo necesitamos.
-
14:22 - 14:25Podemos en realidad ir y correr el experimento
-
14:25 - 14:27haciendo click en el hombre verde que aparece corriendo.
-
14:27 - 14:31A menduo toma algunos segundos, especialmente la primera vez
-
14:31 - 14:35que el experimento corre. Asi que se paciente con el primero.
-
14:35 - 14:37Ahi estamos. Tenemos un cuadro de dialogo que aparece
-
14:37 - 14:40preguntando por el participante y el numero de la sesion.
-
14:40 - 14:42Eso tambien estaba controlado en
-
14:42 - 14:44la configuracion de nuestro experimento.
-
14:44 - 14:45En realidad no voy a correr el experimento.
-
14:45 - 14:48Eso se los dejo a ustedes.
-
14:48 - 14:50OK. Encontraron el tutorial util?
-
14:50 - 14:52Busquen en el menu de Demos mas ideas
-
14:52 - 14:54y espero que disfruten Psychopy!
- Title:
- Build your first PsychoPy experiment (Stroop task)
- Description:
-
This tutorial shows you the basics and how to build a complete experiment from scratch in PsychoPy (in just 15 minutes). See also the documentation at http://www.psychopy.org
This is the first video tutorial I've made. Apologies for all the extraneous mouse movements!
- Video Language:
- English, British
- Duration:
- 14:54
Omar David Perez edited Spanish, Argentinian subtitles for Build your first PsychoPy experiment (Stroop task) | ||
Omar David Perez edited Spanish, Argentinian subtitles for Build your first PsychoPy experiment (Stroop task) | ||
Omar David Perez edited Spanish, Argentinian subtitles for Build your first PsychoPy experiment (Stroop task) | ||
Omar David Perez edited Spanish, Argentinian subtitles for Build your first PsychoPy experiment (Stroop task) |