/// initialize sensor pins const int capacitor_input_0 = 0; const int capacitor_input_1 = 1; const int capacitor_input_2 = 2; const int capacitor_input_3 = 3; const int capacitor_input_4 = 4; String colors = "rby"; String random_color; String selected_color; ///initialize LED pins int REDPin = 21; // RED pin of the LED to PWM pin 4 int GREENPin = 23; // GREEN pin of the LED to PWM pin 5 int BLUEPin = 22; // BLUE pin of the LED to PWM pin 6 int brightness = 0; // LED brightness int increment = 15; // brightness increment int on = 0; // resets int win = 0; // keeps track og wins void setup() { Serial.begin(9600); // put your setup code here, to run once: pinMode(capacitor_input_0, INPUT); pinMode(capacitor_input_1, INPUT); pinMode(capacitor_input_2, INPUT); pinMode(capacitor_input_3, INPUT); pinMode(capacitor_input_4, INPUT); // // pinMode(REDPin, OUTPUT); // pinMode(GREENPin, OUTPUT); // pinMode(BLUEPin, OUTPUT); } // Debugging Basic Code void loop() { // initializes the values for the pins random_color = colors[random(0,3)]; Serial.print("Please touch "); if (random_color =="r"){ Serial.println("red:"); analogWrite(REDPin, 0); analogWrite(GREENPin, 255); analogWrite(BLUEPin, 255); while(on < 255){ on = on + increment; analogWrite(REDPin, on); delay(30); } while(on > 0){ on = on - increment; analogWrite(REDPin, on); delay(30); } while(on < 255){ on = on + increment; analogWrite(REDPin, on); delay(30); } while(on > 0){ on = on - increment; analogWrite(REDPin, on); delay(30); } } else if (random_color =="b"){ Serial.println("blue:"); analogWrite(REDPin, 255); analogWrite(GREENPin, 255); analogWrite(BLUEPin, 0); while(on < 255){ on = on + increment; analogWrite(BLUEPin, on); delay(30); } while(on > 0){ on = on - increment; analogWrite(BLUEPin, on); delay(30); } while(on < 255){ on = on + increment; analogWrite(BLUEPin, on); delay(30); } while(on > 0){ on = on - increment; analogWrite(BLUEPin, on); delay(30); } } else{ Serial.println("yellow:"); analogWrite(REDPin, 0); analogWrite(GREENPin, 0); analogWrite(BLUEPin, 255); while(on < 255){ on = on + increment; analogWrite(REDPin, on); analogWrite(GREENPin, on); delay(30); } while(on > 0){ on = on - increment; analogWrite(REDPin, on); analogWrite(GREENPin, on); delay(30); } while(on < 255){ on = on + increment; analogWrite(REDPin, on); analogWrite(GREENPin, on); delay(30); } while(on > 0){ on = on - increment; analogWrite(REDPin, on); analogWrite(GREENPin, on); delay(30); } } int mount_0 = digitalRead(capacitor_input_0); int mount_1 = digitalRead(capacitor_input_1); int mount_2 = digitalRead(capacitor_input_2); int mount_3 = digitalRead(capacitor_input_3); int mount_4 = digitalRead(capacitor_input_4); delay(500); while(mount_0 == 1 and mount_1 == 1 and mount_2 == 1 and mount_3 == 1 and mount_4 == 1){ //goes through until something is touched mount_0 = digitalRead(capacitor_input_0); mount_1 = digitalRead(capacitor_input_1); mount_2 = digitalRead(capacitor_input_2); mount_3 = digitalRead(capacitor_input_3); mount_4 = digitalRead(capacitor_input_4); if (mount_0 == 0 or mount_3 == 0){ selected_color = "b"; Serial.print("You touched blue: "); } else if (mount_1 == 0){ selected_color = "r"; Serial.print("You touched red: "); } else if (mount_2 == 0 or mount_4 ==0){ selected_color = "y"; Serial.print("You touched yellow: "); } } //verify touch if (random_color == selected_color){ win = win +1; Serial.println("Correct"); Serial.print("Score: "); Serial.println(win); if (win == 5){ Serial.println("Congrats!"); Serial.println("******************************"); analogWrite(REDPin, 0); analogWrite(GREENPin, 255); analogWrite(BLUEPin, 255); delay(1000); analogWrite(REDPin, 255); analogWrite(GREENPin, 0); analogWrite(BLUEPin, 255); delay(1000); analogWrite(REDPin, 255); analogWrite(GREENPin, 255); analogWrite(BLUEPin, 0); delay(1000); analogWrite(REDPin, 0); analogWrite(GREENPin, 255); analogWrite(BLUEPin, 255); delay(1000); analogWrite(REDPin, 255); analogWrite(GREENPin, 0); analogWrite(BLUEPin, 255); delay(1000); analogWrite(REDPin, 255); analogWrite(GREENPin, 255); analogWrite(BLUEPin, 0); delay(1000); analogWrite(REDPin, 255); analogWrite(GREENPin, 255); analogWrite(BLUEPin, 255); win = 0; delay(5000); } } else{ Serial.println("You fail..."); analogWrite(REDPin, 255); analogWrite(GREENPin, 255); analogWrite(BLUEPin, 255); win = 0; Serial.print("Score: "); Serial.println(win); Serial.println("******************************"); delay(5000); } delay(1000); }