Project tutorial
Light Trainer

Light Trainer © MPL-2.0

Athlete training device helps to enhance the response speed of players through optical stimulation.

  • 1,998 views
  • 3 comments
  • 11 respects

Components and supplies

About this project

This project is about making an athlete training device. It helps to enhance the response speed of players through optical stimulation. The device consists of 6 optical disks connected to Arduino. The Arduino lights up these desks randomly, so that the goalkeeper (for example) waves his hand in front off the lighting disk, so the infrared sensor send signal to Arduino to confirm the correct response of the player to the right disk then another disk will light randomly and so on. This improves the player's response speed.

Code

light trainerArduino
int ledselect;
int led1 = 1; 
int led2 = 2; 
int led3 = 3; 
int led4 = 4; 
int led5 = 5; 
int led6 = 6; 
int ir1 = 7;
int ir2 = 8;
int ir3 = 9;
int ir4 = 10;
int ir5 = 11;
int ir6 = 12;
int s1=A0;
int s2=A1;
int s3=A2;
int s4=A3;
int s5=A4;
int s6=A5;
void setup() { 
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(ir1, OUTPUT);
pinMode(ir2, OUTPUT);
pinMode(ir3, OUTPUT);
pinMode(ir4, OUTPUT);
pinMode(ir5, OUTPUT);
pinMode(ir6, OUTPUT);
pinMode(s1, INPUT);
pinMode(s2, INPUT);
pinMode(s3, INPUT);
pinMode(s4, INPUT);
pinMode(s5, INPUT);
pinMode(s6, INPUT);
}
void loop() {
int ledselect = random(6); 
switch (ledselect) {
case 0:
digitalWrite(led1, HIGH);
digitalWrite(ir1, HIGH);
delay(20);
while(analogRead(s1) >= 950){delay(20);}
digitalWrite(led1,LOW);
break;
case 1:
digitalWrite(led2, HIGH);
digitalWrite(ir2, HIGH);
delay(20);
while(analogRead(s2) >= 950){delay(20);}
digitalWrite(led2,LOW);
break;
case 2:
digitalWrite(led3, HIGH);
digitalWrite(ir3, HIGH);
delay(20);
while(analogRead(s3) >= 950){delay(20);}
digitalWrite(led3,LOW);
break;
case 3:
digitalWrite(led4, HIGH);
digitalWrite(ir4, HIGH);
delay(20);
while(analogRead(s4) >= 950){delay(20);}
digitalWrite(led4,LOW);
case 4:
digitalWrite(led5, HIGH);
digitalWrite(ir5, HIGH);
delay(20);
while(analogRead(s5) >= 950){delay(20);}
digitalWrite(led5,LOW);
case 5:
digitalWrite(led6, HIGH);
digitalWrite(ir6, HIGH);
delay(20);
while(analogRead(s6) >= 950){delay(20);}
digitalWrite(led6,LOW);
break;
default:
delay(2000);
break;
}

}

Custom parts and enclosures

arduino with custom sheild
Img 20150111 00061 5syycmnnj9
encloser
Img 20150114 00073 begky2sfqq

Schematics

Ir sensor circuit
Capture y8izkotur2

Comments

Similar projects you might like

Controlling LED light intensity using smartphone light senso

Project tutorial by Nikola Travis

  • 1,772 views
  • 0 comments
  • 3 respects

Control your light system with your voice

Project tutorial by Maha Raafat

  • 33,139 views
  • 22 comments
  • 147 respects

Touch LED Table - Retrogaming And Ambiant Light

Project tutorial by Arbalet Project

  • 7,893 views
  • 1 comment
  • 38 respects

Light Sequence Creator

Project tutorial by Reid Paulhus

  • 7,212 views
  • 2 comments
  • 19 respects

LED as a Light Sensor

Project tutorial by Harsh Dethe

  • 2,787 views
  • 8 comments
  • 19 respects

The "Tennis Ball" Garage Stop Light

Project tutorial by Team Stuart Mace

  • 9,656 views
  • 2 comments
  • 36 respects
Add projectSign up / Login