//pin set start sensor
#define sensor_start 7
//pin set motor
#define motor 6
//pin set sensor
#define sensor_groen 3
#define sensor_wit 2
#define sensor_blauw 10
#define sensor_rood 11
//pin set led
#define led_rood 4
#define led_groen 5
#define led_wit 12
#define led_blauw 13
//pin set flipper
#define flipper_links 26
#define flipper_rechts 22
//pin set drukknop flippers
#define drukknop_rechts 23
#define drukknop_links 27
//pin set drukknop
#define drukknop_up 24
#define drukknop_start 25
#define drukknop_exit 28
#define drukknop_down 29
//points
int score =0;
int punten =50;
//selectie
int select = 0;
int play = 0;
int drukknop_start_state = 0;
int drukknop_exit_state =0;
void setup() {
//seriele monitor aanzetten voor punten
Serial.begin(9600);
//set input sensor
pinMode(sensor_groen, INPUT);
pinMode(sensor_wit, INPUT);
pinMode(sensor_blauw, INPUT);
pinMode(sensor_rood, INPUT);
pinMode(sensor_start, INPUT);
//set input drukknop
pinMode(drukknop_rechts, INPUT);
pinMode(drukknop_links, INPUT);
pinMode(drukknop_up, INPUT);
pinMode(drukknop_start, INPUT);
pinMode(drukknop_exit, INPUT);
pinMode(drukknop_down, INPUT);
//set output led
pinMode(led_blauw, OUTPUT);
pinMode(led_rood, OUTPUT);
pinMode(led_wit, OUTPUT);
pinMode(led_groen, OUTPUT);
//set output flipper
pinMode(flipper_rechts, OUTPUT);
pinMode(flipper_links, OUTPUT);
//set output motor
pinMode(motor, OUTPUT);
digitalWrite(motor, HIGH);
digitalWrite(led_blauw,HIGH);
digitalWrite(led_rood,HIGH);
digitalWrite(led_wit,HIGH);
digitalWrite(led_groen,HIGH);
}
void loop() {
// put your main code here, to run repeatedly:
if(drukknop_start_state == LOW){
drukknop_start_state = digitalRead(drukknop_start);
}
if(drukknop_start_state == HIGH){
drukknop_exit_state=digitalRead(drukknop_exit);
if(drukknop_exit_state == HIGH){
digitalWrite(drukknop_start_state,LOW);
digitalWrite(drukknop_exit_state,LOW);
}
// if(digitalRead(sensor_start)==HIGH){
// digitalWrite(motor, LOW);
// delay(5000);
// digitalWrite(motor, HIGH);
// digitalWrite(sensor_start, LOW);
// }
if (digitalRead(drukknop_rechts) == HIGH){
digitalWrite(flipper_rechts, HIGH);
delay(100);
digitalWrite(flipper_rechts, LOW);
}
if (digitalRead(drukknop_links) == HIGH){
digitalWrite(flipper_links, HIGH);
delay(100);
digitalWrite(flipper_links, LOW);
}
if(digitalRead(sensor_groen)==HIGH){
digitalWrite(led_groen,HIGH);
score=score+punten;
}
if(digitalRead(sensor_blauw)==LOW){
digitalWrite(led_blauw,LOW);
score=score+punten;
}
if(digitalRead(sensor_wit)==LOW){
digitalWrite(led_wit,LOW);
score=score+punten;
}
if(digitalRead(sensor_rood)==LOW){
digitalWrite(led_rood,LOW);
score=score+punten;
}
if( digitalRead(led_rood) == LOW && digitalRead(led_blauw) == LOW && digitalRead(led_wit) == LOW){
digitalWrite(led_groen, HIGH);
digitalWrite(led_rood, HIGH);
digitalWrite(led_wit, HIGH);;
digitalWrite(led_blauw, HIGH);
delay(100);
digitalWrite(led_groen, LOW);
digitalWrite(led_rood, LOW);
digitalWrite(led_wit, LOW);;
digitalWrite(led_blauw, LOW);
delay(200);
digitalWrite(led_groen, HIGH);
digitalWrite(led_rood, HIGH);
digitalWrite(led_wit, HIGH);;
digitalWrite(led_blauw, HIGH);
delay(300);
digitalWrite(led_groen, LOW);
digitalWrite(led_rood, LOW);
digitalWrite(led_wit, LOW);;
digitalWrite(led_blauw, LOW);
delay(100);
digitalWrite(led_groen, HIGH);
digitalWrite(led_rood, HIGH);
digitalWrite(led_wit, HIGH);;
digitalWrite(led_blauw, HIGH);
score=score+(punten*2);
}
}
}