Components and supplies
1
SparkFun 7-Segment Serial Display - Red
1
Analog joystick (Generic)
4
LED (generic)
1
Arduino UNO
Project description
Code
training reaction machine code
arduino
this is the code of our machine
1byte seven_seg_digits[10][7] = { { 1,1,1,1,1,1,0 }, // = 0 // 2 { 0,1,1,0,0,0,0 }, // = 1 3 { 1,1,0,1,1,0,1 }, // = 2 4 { 1,1,1,1,0,0,1 }, // = 3 5 { 0,1,1,0,0,1,1 }, // = 4 6 { 1,0,1,1,0,1,1 }, // = 5 7 { 1,0,1,1,1,1,1 }, // = 6 8 { 1,1,1,0,0,0,0 }, // = 7 9 { 1,1,1,1,1,1,1 }, // = 8 10 { 1,1,1,0,0,1,1 } // = 9 11 }; 12//.................................................................// 13int ledPind = 13; //LED 14int ledPinr = 12; 15int ledPinu = 11; 16int ledPinl = 10; 17long ran; 18//.................................................................// 19int analogInPin = 0;// 20int sensorValue = 0; 21int ButtonPin = 2; 22 23//.......................................................// 24int t = 0; 25int score = 0; // 26int tt = 800; // 27int tc = 0; //time change tt 28 29void setup() { 30 pinMode(2, OUTPUT); // 31 pinMode(3, OUTPUT); 32 pinMode(4, OUTPUT); 33 pinMode(5, OUTPUT); 34 pinMode(6, OUTPUT); 35 pinMode(7, OUTPUT); 36 pinMode(8, OUTPUT); 37 pinMode(9, OUTPUT); 38 digitalWrite(9, 0); 39 40 pinMode(ledPind, OUTPUT); //LED 41 pinMode(ledPinr, OUTPUT); 42 pinMode(ledPinu, OUTPUT); 43 pinMode(ledPinl, OUTPUT); 44 45 Serial.begin(9600); // 46 pinMode(ButtonPin, INPUT); 47 48} 49 50// 51void sevenSegWrite(byte digit) { 52 byte pin = 2; 53 for (byte seg = 0; seg < 7; ++seg) { 54 digitalWrite(pin, seven_seg_digits[digit][seg]); 55 ++pin; 56 } 57} 58 59 60void loop() { 61 ran = random(4); //LED 62 sevenSegWrite(score); 63if(ran==0){ //down 64 while(t<tt){ 65digitalWrite(ledPind, HIGH); //led 66digitalWrite(ledPinr, LOW); 67digitalWrite(ledPinu, LOW); 68digitalWrite(ledPinl, LOW); 69if(analogRead(0)<600 && analogRead(0)>450 && analogRead(1)<600 && analogRead(1)>450){ 70 if(t==tt-1){ // 71 if(score==0){score=0; tc=0;} //1/1000 72 else{score=score-1; tc=1;}} 73t=t+1; 74delay(1); 75} 76else if(analogRead(0)>600 || analogRead(0)<450 || analogRead(1)>600 || analogRead(1)<450){ 77 if(analogRead(1)<450){ //+ // 78 if(score==9){score=9; tc=0;} 79 else{score=score+1; tc=2;} 80 sevenSegWrite(score); 81 delay(tt-t); 82 t=tt; 83 } 84 else{ //- 85 if(score==0){score=0; tc=0;} 86 else{score=score-1; tc=1;} 87 sevenSegWrite(score); 88 delay(tt-t); 89 t=tt; 90 } 91} 92} 93digitalWrite(ledPind, LOW); // 94t=0; 95if(tc==1){tt=tt+70;} 96else if(tc==2){tt=tt-70;} 97delay(50); 98} 99 100if(ran==1){ //right( ) 101 while(t<tt){ 102digitalWrite(ledPind, LOW); 103digitalWrite(ledPinr, HIGH); 104digitalWrite(ledPinu, LOW); 105digitalWrite(ledPinl, LOW); 106if(analogRead(0)<600 && analogRead(0)>450 && analogRead(1)<600 && analogRead(1)>450){ 107 if(t==tt-1){ 108 if(score==0){score=0; tc=0;} 109 else{score=score-1; tc=1;}} 110t=t+1; 111delay(1); 112} 113else if(analogRead(0)>600 || analogRead(0)<450 || analogRead(1)>600 || analogRead(1)<450){ 114 if(analogRead(0)>600){ 115 if(score==9){score=9; tc=0;} 116 else{score=score+1; tc=2;} 117 sevenSegWrite(score); 118 delay(tt-t); 119 t=tt; 120 } 121 else{ 122 if(score==0){score=0; tc=0;} 123 else{score=score-1; tc=1;} 124 sevenSegWrite(score); 125 delay(tt-t); 126 t=tt; 127 } 128} 129} 130digitalWrite(ledPinr, LOW); 131t=0; 132if(tc==1){tt=tt+70;} 133else if(tc==2){tt=tt-70;} 134delay(50); 135} 136 137if(ran==2){ //up 138 while(t<tt){ 139digitalWrite(ledPind, LOW); 140digitalWrite(ledPinr, LOW); 141digitalWrite(ledPinu, HIGH); 142digitalWrite(ledPinl, LOW); 143if(analogRead(0)<600 && analogRead(0)>450 && analogRead(1)<600 && analogRead(1)>450){ 144 if(t==tt-1){ 145 if(score==0){score=0; tc=0;} 146 else{score=score-1; tc=1;}} 147t=t+1; 148delay(1); 149} 150else if(analogRead(0)>600 || analogRead(0)<450 || analogRead(1)>600 || analogRead(1)<450){ 151 if(analogRead(1)>600){ 152 if(score==9){score=9; tc=0;} 153 else{score=score+1; tc=2;} 154 sevenSegWrite(score); 155 delay(tt-t); 156 t=tt; 157 } 158 else{ 159 if(score==0){score=0; tc=0;} 160 else{score=score-1; tc=1;} 161 sevenSegWrite(score); 162 delay(tt-t); 163 t=tt; 164 } 165} 166} 167digitalWrite(ledPinu, LOW); 168t=0; 169if(tc==1){tt=tt+70;} 170else if(tc==2){tt=tt-70;} 171delay(50); 172} 173 174if(ran==3){ //left 175 while(t<tt){ 176digitalWrite(ledPind, LOW); 177digitalWrite(ledPinr, LOW); 178digitalWrite(ledPinu, LOW); 179digitalWrite(ledPinl, HIGH); 180if(analogRead(0)<600 && analogRead(0)>450 && analogRead(1)<600 && analogRead(1)>450){ 181 if(t==tt-1){ 182 if(score==0){score=0; tc=0;} 183 else{score=score-1; tc=1;}} 184t=t+1; 185delay(1); 186} 187else if(analogRead(0)>600 || analogRead(0)<450 || analogRead(1)>600 || analogRead(1)<450){ 188 if(analogRead(0)<450){ 189 if(score==9){score=9; tc=0;} 190 else{score=score+1; tc=2;} 191 sevenSegWrite(score); 192 delay(tt-t); 193 t=tt; 194 } 195 else{ 196 if(score==0){score=0; tc=0;} 197 else{score=score-1; tc=1;} 198 sevenSegWrite(score); 199 delay(tt-t); 200 t=tt; 201 } 202} 203} 204digitalWrite(ledPinl, LOW); 205t=0; 206if(tc==1){tt=tt+70;} 207else if(tc==2){tt=tt-70;} 208delay(50); 209} 210 211 212} 213
training reaction machine code
arduino
this is the code of our machine
1byte seven_seg_digits[10][7] = { { 1,1,1,1,1,1,0 }, // = 0 // 2 { 0,1,1,0,0,0,0 }, // = 1 3 { 1,1,0,1,1,0,1 }, // = 2 4 { 1,1,1,1,0,0,1 }, // = 3 5 { 0,1,1,0,0,1,1 }, // = 4 6 { 1,0,1,1,0,1,1 }, // = 5 7 { 1,0,1,1,1,1,1 }, // = 6 8 { 1,1,1,0,0,0,0 }, // = 7 9 { 1,1,1,1,1,1,1 }, // = 8 10 { 1,1,1,0,0,1,1 } // = 9 11 }; 12//.................................................................// 13int ledPind = 13; //LED 14int ledPinr = 12; 15int ledPinu = 11; 16int ledPinl = 10; 17long ran; 18//.................................................................// 19int analogInPin = 0;// 20int sensorValue = 0; 21int ButtonPin = 2; 22 23//.......................................................// 24int t = 0; 25int score = 0; // 26int tt = 800; // 27int tc = 0; //time change tt 28 29void setup() { 30 pinMode(2, OUTPUT); // 31 pinMode(3, OUTPUT); 32 pinMode(4, OUTPUT); 33 pinMode(5, OUTPUT); 34 pinMode(6, OUTPUT); 35 pinMode(7, OUTPUT); 36 pinMode(8, OUTPUT); 37 pinMode(9, OUTPUT); 38 digitalWrite(9, 0); 39 40 pinMode(ledPind, OUTPUT); //LED 41 pinMode(ledPinr, OUTPUT); 42 pinMode(ledPinu, OUTPUT); 43 pinMode(ledPinl, OUTPUT); 44 45 Serial.begin(9600); // 46 pinMode(ButtonPin, INPUT); 47 48} 49 50// 51void sevenSegWrite(byte digit) { 52 byte pin = 2; 53 for (byte seg = 0; seg < 7; ++seg) { 54 digitalWrite(pin, seven_seg_digits[digit][seg]); 55 ++pin; 56 } 57} 58 59 60void loop() { 61 ran = random(4); //LED 62 sevenSegWrite(score); 63if(ran==0){ //down 64 while(t<tt){ 65digitalWrite(ledPind, HIGH); //led 66digitalWrite(ledPinr, LOW); 67digitalWrite(ledPinu, LOW); 68digitalWrite(ledPinl, LOW); 69if(analogRead(0)<600 && analogRead(0)>450 && analogRead(1)<600 && analogRead(1)>450){ 70 if(t==tt-1){ // 71 if(score==0){score=0; tc=0;} //1/1000 72 else{score=score-1; tc=1;}} 73t=t+1; 74delay(1); 75} 76else if(analogRead(0)>600 || analogRead(0)<450 || analogRead(1)>600 || analogRead(1)<450){ 77 if(analogRead(1)<450){ //+ // 78 if(score==9){score=9; tc=0;} 79 else{score=score+1; tc=2;} 80 sevenSegWrite(score); 81 delay(tt-t); 82 t=tt; 83 } 84 else{ //- 85 if(score==0){score=0; tc=0;} 86 else{score=score-1; tc=1;} 87 sevenSegWrite(score); 88 delay(tt-t); 89 t=tt; 90 } 91} 92} 93digitalWrite(ledPind, LOW); // 94t=0; 95if(tc==1){tt=tt+70;} 96else if(tc==2){tt=tt-70;} 97delay(50); 98} 99 100if(ran==1){ //right( ) 101 while(t<tt){ 102digitalWrite(ledPind, LOW); 103digitalWrite(ledPinr, HIGH); 104digitalWrite(ledPinu, LOW); 105digitalWrite(ledPinl, LOW); 106if(analogRead(0)<600 && analogRead(0)>450 && analogRead(1)<600 && analogRead(1)>450){ 107 if(t==tt-1){ 108 if(score==0){score=0; tc=0;} 109 else{score=score-1; tc=1;}} 110t=t+1; 111delay(1); 112} 113else if(analogRead(0)>600 || analogRead(0)<450 || analogRead(1)>600 || analogRead(1)<450){ 114 if(analogRead(0)>600){ 115 if(score==9){score=9; tc=0;} 116 else{score=score+1; tc=2;} 117 sevenSegWrite(score); 118 delay(tt-t); 119 t=tt; 120 } 121 else{ 122 if(score==0){score=0; tc=0;} 123 else{score=score-1; tc=1;} 124 sevenSegWrite(score); 125 delay(tt-t); 126 t=tt; 127 } 128} 129} 130digitalWrite(ledPinr, LOW); 131t=0; 132if(tc==1){tt=tt+70;} 133else if(tc==2){tt=tt-70;} 134delay(50); 135} 136 137if(ran==2){ //up 138 while(t<tt){ 139digitalWrite(ledPind, LOW); 140digitalWrite(ledPinr, LOW); 141digitalWrite(ledPinu, HIGH); 142digitalWrite(ledPinl, LOW); 143if(analogRead(0)<600 && analogRead(0)>450 && analogRead(1)<600 && analogRead(1)>450){ 144 if(t==tt-1){ 145 if(score==0){score=0; tc=0;} 146 else{score=score-1; tc=1;}} 147t=t+1; 148delay(1); 149} 150else if(analogRead(0)>600 || analogRead(0)<450 || analogRead(1)>600 || analogRead(1)<450){ 151 if(analogRead(1)>600){ 152 if(score==9){score=9; tc=0;} 153 else{score=score+1; tc=2;} 154 sevenSegWrite(score); 155 delay(tt-t); 156 t=tt; 157 } 158 else{ 159 if(score==0){score=0; tc=0;} 160 else{score=score-1; tc=1;} 161 sevenSegWrite(score); 162 delay(tt-t); 163 t=tt; 164 } 165} 166} 167digitalWrite(ledPinu, LOW); 168t=0; 169if(tc==1){tt=tt+70;} 170else if(tc==2){tt=tt-70;} 171delay(50); 172} 173 174if(ran==3){ //left 175 while(t<tt){ 176digitalWrite(ledPind, LOW); 177digitalWrite(ledPinr, LOW); 178digitalWrite(ledPinu, LOW); 179digitalWrite(ledPinl, HIGH); 180if(analogRead(0)<600 && analogRead(0)>450 && analogRead(1)<600 && analogRead(1)>450){ 181 if(t==tt-1){ 182 if(score==0){score=0; tc=0;} 183 else{score=score-1; tc=1;}} 184t=t+1; 185delay(1); 186} 187else if(analogRead(0)>600 || analogRead(0)<450 || analogRead(1)>600 || analogRead(1)<450){ 188 if(analogRead(0)<450){ 189 if(score==9){score=9; tc=0;} 190 else{score=score+1; tc=2;} 191 sevenSegWrite(score); 192 delay(tt-t); 193 t=tt; 194 } 195 else{ 196 if(score==0){score=0; tc=0;} 197 else{score=score-1; tc=1;} 198 sevenSegWrite(score); 199 delay(tt-t); 200 t=tt; 201 } 202} 203} 204digitalWrite(ledPinl, LOW); 205t=0; 206if(tc==1){tt=tt+70;} 207else if(tc==2){tt=tt-70;} 208delay(50); 209} 210 211 212} 213
Downloadable files
training reaction machine
training reaction machine

Comments
Only logged in users can leave comments