//Code //Variables int red = 8; int orange =9; int yellow = 10; int green = 11; int blue = 12; int push = 2; int buzz = 7; int redRGB = 6; int blueRGB = 5; int greenRGB = 3; int colNumber = 0; int ledNumber =0; int score =0; //RGB code void rgbColour() { String colour[5] = {"red", "orange", "yellow", "green", "blue"}; colNumber = random(0,5); Serial.println("try to catch the colour "+colour[colNumber]); if(colNumber == 0){ //this is the colour red setColour(255,0,0);//sets RGB } else if ( colNumber ==1){// orange setColour(255,170,0); } else if ( colNumber ==2){//yellow setColour(255,255,0); } else if ( colNumber ==3){//green setColour(0,255,0); } else if ( colNumber ==4){//blue setColour(0,0,255); } } //Check button void checkButton(){ if (digitalRead(push)==1){ if(colNumber == ledNumber){ score = score+1; Serial.println("great job! your score is"); Serial.println(score); rgbColour(); } else{ digitalWrite(buzz, HIGH); delay(100); digitalWrite(buzz, LOW); score = score -1; Serial.println("your score is"); Serial.println(score); rgbColour(); } } } //Setcolour void setColour(int r, int g, int b){ //r = 255 -r; //g = 255 -g; //b = 255 -b; analogWrite(redRGB,r); analogWrite(greenRGB, g); analogWrite(blueRGB, b); } //Flash colour setup void flashColours(int t){ digitalWrite(red, HIGH); ledNumber=0; delay(t); checkButton(); digitalWrite(red, LOW); digitalWrite(orange, HIGH); ledNumber=1; delay(t); checkButton(); digitalWrite(orange, LOW); digitalWrite(yellow, HIGH); ledNumber=2; delay(t); checkButton(); digitalWrite(yellow, LOW); digitalWrite(green, HIGH); ledNumber=3; delay(t); checkButton(); digitalWrite(green, LOW); digitalWrite(blue, HIGH); ledNumber=4; delay(t); checkButton(); digitalWrite(blue, LOW); } //Setup void setup() { Serial.begin(9600); pinMode(red, OUTPUT); pinMode(orange, OUTPUT); pinMode(yellow,OUTPUT); pinMode(green,OUTPUT); pinMode(blue,OUTPUT); pinMode(buzz,OUTPUT); pinMode(push,INPUT); pinMode(redRGB, OUTPUT); pinMode(greenRGB,OUTPUT); pinMode(blueRGB,OUTPUT); rgbColour(); } void loop() { flashColours(700);//each LED stays on for }