Prototipo experimental de medición de tiempos de reacción con Arduino
Este proyecto nace de una pregunta sencilla: ¿qué ocurre si, en lugar de utilizar una herramienta para medir procesos cognitivos, intento construirla desde cero?
El resultado es un prototipo funcional basado en Arduino UNO capaz de presentar un estímulo visual, detectar la respuesta mediante un pulsador y registrar su latencia en milisegundos.
El proyecto me permite explorar desde otra perspectiva algo muy familiar para mí como psicóloga y neuropsicóloga: cómo pasamos de una respuesta humana a un dato cuantificable.
Del circuito al dato
La primera versión únicamente encendía un LED y medía cuánto tiempo transcurría hasta pulsar el botón. A partir de ahí, el sistema fue evolucionando progresivamente hasta incorporar:
- presentación del estímulo tras un intervalo aleatorio;
- ejecución automática de múltiples trials;
- registro de Reaction Time (RT) en milisegundos;
- detección de anticipaciones y omisiones;
- establecimiento de una response window;
- registro completo trial-by-trial;
- cálculo automático de Mean RT, Median RT, Standard Deviation (SD), Coefficient of Variation (CV), RT mínimo y máximo;
- generación de datos estructurados en CSV para su posterior análisis.
Tecnología utilizada
Arduino UNO · C/C++ · electrónica básica · protoboard · Serial communication · adquisición de datos · estadística descriptiva · CSV
El hardware inicial es deliberadamente sencillo: Arduino UNO, LED, pulsador, resistencia y cables. La complejidad del proyecto se ha ido trasladando progresivamente al diseño experimental y al software.
La idea
La pregunta de partida era deliberadamente simple: ¿se puede medir el tiempo de reacción con un dispositivo sencillo, económico y construido desde cero?
El objetivo inicial fue crear un dispositivo básico que permitiera presentar un estímulo visual y registrar una respuesta motora, utilizando esa arquitectura como base para tareas experimentales progresivamente más complejas.
Montaje
El prototipo utiliza pocos componentes y una arquitectura deliberadamente transparente:
- Arduino UNO, como unidad de control;
- LED, utilizado como estímulo visual;
- pulsador, para registrar la respuesta;
- resistencia de 220 Ω, para limitar la corriente del LED;
- protoboard y cables, para realizar las conexiones sin soldadura.
En el esquema básico, el LED se controla desde D8, el pulsador se registra desde D2 y ambos comparten referencia a GND. Una vez montado el circuito, el comportamiento del sistema se comprueba mediante el Monitor Serie antes de ampliar el diseño experimental.
La lógica del montaje es importante precisamente por su sencillez: permite separar con claridad qué parte del sistema corresponde al estímulo, cuál a la respuesta y cuál al control electrónico.
Software
El código fue creciendo por versiones, incorporando progresivamente control experimental y adquisición estructurada de datos.
v0.1 · Proof of concept
Encendido del LED, detección de la pulsación y medición de un único tiempo de reacción.
v0.2 · Experimental control
Automatización de 10 ensayos, intervalos variables antes del estímulo, ventana de respuesta y detección de anticipaciones y omisiones.
v0.3 · Data analysis
Cálculo automático de media, mediana, desviación estándar, coeficiente de variación, RT mínimo y RT máximo.
v0.4 · Structured data acquisition
Registro completo de cada ensayo, clasificación del resultado y generación de una salida estructurada en CSV.
El sistema permite obtener, entre otras variables:
- tiempo de reacción por ensayo;
- media y mediana del RT;
- desviación estándar y coeficiente de variación;
- valores mínimo y máximo;
- número de anticipaciones;
- número de omisiones;
- registro completo trial-by-trial.
Estado actual: Functional prototype · v0.4
Resultados y estructura de los datos
Cada ensayo queda registrado de forma independiente, lo que permite pasar de una respuesta puntual a un conjunto de datos analizable.
Una sesión puede generar una tabla con campos como:
trial · delay_ms · rt_ms · result
El campo result permite diferenciar ensayos VALID, ANTICIPATION y OMISSION, evitando mezclar respuestas válidas con errores de ejecución.
Como ejemplo de salida del sistema, una sesión de prueba puede resumirse mediante Mean RT, Median RT, SD, CV, RT mínimo y máximo, junto con el número total de ensayos válidos, anticipaciones y omisiones. El archivo CSV resultante queda preparado para análisis posterior en Python, R o Excel.
El objetivo aquí no es únicamente obtener un número, sino conservar la estructura temporal de cada ensayo y disponer de información suficiente para revisar la calidad de la medición.
Aplicaciones y evolución posible
El mismo hardware puede convertirse en una base para paradigmas más complejos sin necesidad de reconstruir el sistema desde cero. Entre las líneas de desarrollo planteadas están:
- estímulos visuales y auditivos, para comparar modalidades;
- Choice Reaction Time, incorporando varios estímulos y respuestas;
- Go/No-Go, para estudiar respuesta e inhibición;
- tareas de atención sostenida, con series más largas y análisis del rendimiento a lo largo del tiempo;
- una batería cognitiva modular, reutilizando el mismo dispositivo para tareas diferentes;
- incorporación de una pantalla LCD;
- reinicio y gestión automática de sesiones;
- almacenamiento automatizado de datos y análisis mediante Python o R.
En términos de uso, el proyecto puede tener interés experimental, educativo y de divulgación, además de servir como plataforma de aprendizaje para integrar electrónica, programación, diseño experimental y neurociencia cognitiva.
El objetivo
Más que construir un “test”, el objetivo es comprender y experimentar con toda la cadena:
Estímulo → respuesta → adquisición → control experimental → dato → análisis
Es un proyecto donde convergen mis dos ámbitos de formación: neuropsicología e ingeniería biomédica, trasladando conceptos de evaluación cognitiva a un sistema físico que puedo diseñar, programar, medir y mejorar.
Nota metodológica: se trata de un prototipo experimental y educativo. No constituye un instrumento de evaluación neuropsicológica validado y sus resultados no deben interpretarse como puntuaciones clínicas ni normativas.
Comentarios