A LabVIEW-based simulation of an integrated stimulus and measurement system designed to train and evaluate reaction time in Karate-Do athletes. Built as a Mechatronics Integration Project at UPIITA, IPN around September - December 2023.
Team: Jorge Andrés Conde Jaimes · Luis Alberto Pérez Sánchez · Jalil Yael Ali Ramos Garduño
The system presents either a visual or auditory stimulus to an athlete and measures how quickly and accurately they respond by striking the correct zone on a 3x3 impact matrix, which aims to mirror the Jodan / Chudan / Gedan strike zones used in Kumite (competitive Karate-Do).
The LabVIEW simulation covers the full training loop:
- Athlete enters their name.
- System randomly selects a target zone (1-9).
- Stimulus fires, either a sound clip or a LED indicator on the corresponding zone.
- Athlete strikes; the simulation registers which zone was hit and at what time.
- Hit/miss result and reaction time are logged to a per-athlete Excel file.
Two training modes are supported:
- Simple reaction: single green LED or a single audio cue, no distractors.
- Complex reaction: red LEDs mark false zones, only the green zone should be struck; or a target sound plays amid background competition noise.
The 3x3 matrix on the left simulates the physical strike pads (Jodan / Chudan / Gedan zones). The monitor panel on the right shows the session log with position, hit/miss result, and reaction time per iteration.
The core timing and hit-detection logic. The Elapsed Time node starts on stimulus; the Colchon boolean detects impact; the inline formula node compares struck zone vs. target and sets Acierto = 1 or 0.
Proposed 650x650mm frame for the 3x3 strike pad matrix. The modular aluminum structure keeps the electronic zone physically separated from the impact zone.
Exploded view of a single strike module: foam/canvas impact layer on top, FSR-402 sensor sandwiched between the pad and the base, LED routed through the center post.
karate-do-reaction-system/
├── SimulacionKaratePunch.vi # Main VI: front panel + block diagram
├── SoundGenerator.vi # SubVI: reads and plays a .wav file, returns duration
├── Posiciones.vi # SubVI: random integer generator (1-9) for zone selection
├── Colchon.ctl # Custom control: simulated strike pad (boolean input)
├── Punch.wav # Audio stimulus: strike cue
├── Bar.wav # Audio stimulus: distractor / competition noise
├── Womp.wav # Audio stimulus: alternative cue
├── images/
│ ├── Simulacion_de_elementos_fisicos.png
│ ├── block_diagram.png
│ ├── Estructura_Fisica_Principal.png
│ └── Cojinete_con_implementacion_de_sensor.png
└── README.md
The simulation was designed as a functional proof-of-concept for a physical prototype. The same logic would run on an Arduino MKR1010 reading 9x FSR-402 force sensors and controlling 18 LEDs (9 red + 9 green) in a common-cathode matrix.
Front Panel (LabVIEW GUI)
│
├─ Stimulus selector (Auditory / Visual toggle)
│ │
│ ├─ Auditory path → Posiciones.vi → SoundGenerator.vi → plays .wav
│ └─ Visual path → Posiciones.vi → Case structure → LED boolean controls
│
├─ Control por Posición (main loop)
│ ├─ Elapsed Time timer starts on stimulus
│ ├─ Colchon.ctl detects impact
│ ├─ Compares struck zone vs. target zone → Acierto (hit/miss)
│ └─ Logs: position, hit/miss, reaction time (ms)
│
└─ Data export
├─ Builds per-row matrix (position | acierto | velocidad de reacción)
└─ Saves to athlete-named .xlsx
SoundGenerator.vi: Takes a numeric position input, loads the corresponding .wav file path, plays the waveform, and returns the audio duration. Duration feeds back into the main loop to time the response window correctly.
Posiciones.vi: Simple random integer generator bounded 1-9. Outputs the target zone number used by both the auditory and visual branches.
Colchon.ctl: A boolean custom control representing a single strike pad. Nine instances on the front panel simulate the 3x3 physical matrix.
Requirements: NI LabVIEW 2020 or later (earlier versions may work but were not tested).
- Clone or download the repository
- Open
SimulacionKaratePunch.viin LabVIEW - Make sure
SoundGenerator.vi,Posiciones.vi, andColchon.ctlare in the same directory - Place the
.wavfiles in the path referenced insideSoundGenerator.vi(update the file path string if needed) - Enter the athlete's name in the Name field on the front panel
- Select stimulus mode (Auditory / Visual)
- Press INICIAR to begin a session
- Click the strike pad (Colchon) corresponding to the stimulated zone
- Results are logged in the table and exported to Excel when the session ends
Note: The Excel export path is hardcoded inside the VI. Update the path string to match your machine before running.
The simulation was validated as a proof-of-concept. The proposed physical build:
| Component | Model | Qty |
|---|---|---|
| Microcontroller | Arduino MKR WiFi 1010 | 1 |
| Force sensors | FSR-402 (membrane type) | 9 |
| Audio module | DFPlayer Mini MP3 | 2 |
| LEDs green | Diffuse, 2.0-2.2V | 9 |
| LEDs red | Diffuse, 1.8-2.0V | 9 |
The LED matrix uses common cathode per color. FSR sensors connect to analog inputs and are polled continuously, the the impact is detected when voltage crosses threshold. The electronic module is physically separated from the strike zone to protect it from direct impacts.
Schematic designed in Proteus Professional.
Budget estimate: $2,456 - $3,172 MXN for the full hardware build.
| Member | Role |
|---|---|
| Jorge Andrés Conde Jaimes | LabVIEW software design and implementation (simulation, SubVIs, data export) |
| Jalil Yael Ali Ramos Garduño | Mechanical design (Autodesk Inventor), concept development, project documentation and methodology |
| Luis Alberto Pérez Sánchez | Electronic system design (schematic, component selection, Proteus) |
Reaction time is a critical performance factor in Kumite, the combat discipline of Karate-Do, but no standardized training tool existed for quantifying it systematically. This project proposed and simulated a solution covering:
- Stimulus generation (visual and auditory, simple and complex modes)
- Impact detection and zone identification on a 3x3 Jodan/Chudan/Gedan matrix
- Reaction time measurement from stimulus onset to impact
- Per-athlete session history exported to Excel
The design process followed a full mechatronics methodology: client requirements, morphological analysis, weighted decision matrices, IDEF0 functional decomposition, schematic design in Proteus, and functional simulation validation in LabVIEW.
- The
.vifiles require NI LabVIEW to open. Block diagram screenshots are included insrc/for reference. - The physical hardware was not built during the project timeline, only the simulation validated the core timing and stimulus logic.
.wavfiles included are the original audio stimuli used during simulation testing.



