added reaktionsspiel
This commit is contained in:
parent
f4f1b9c300
commit
101fa87103
|
@ -0,0 +1,97 @@
|
|||
|
||||
|
||||
#define KNOPFA 2
|
||||
#define KNOPFB 3
|
||||
|
||||
#define LEDA 8
|
||||
#define LEDB 9
|
||||
|
||||
#define MAXWAIT 100
|
||||
#define MUL 100
|
||||
|
||||
void setup() {
|
||||
pinMode(KNOPFA, OUTPUT);
|
||||
pinMode(KNOPFB, OUTPUT);
|
||||
|
||||
pinMode(LEDA, INPUT);
|
||||
pinMode(LEDB, INPUT);
|
||||
|
||||
Serial.begin(9600);
|
||||
Serial.println("Setupdone");
|
||||
}
|
||||
|
||||
void check_end(int stat) {
|
||||
Serial.println("check_end()");
|
||||
if(stat == 1) { // 1 - A Verloren -> LEDB an
|
||||
digitalWrite(LEDB, HIGH);
|
||||
digitalWrite(LEDA, LOW);
|
||||
} else if(stat == 2) { // 1 - B Verloren -> LEDA an
|
||||
digitalWrite(LEDA, HIGH);
|
||||
digitalWrite(LEDB, LOW);
|
||||
}
|
||||
}
|
||||
|
||||
void loop() {
|
||||
Serial.println("Start");
|
||||
//lampen an
|
||||
digitalWrite(LEDA, HIGH);
|
||||
digitalWrite(LEDB, HIGH);
|
||||
|
||||
delay(5000); //5s warten
|
||||
|
||||
//lampen aus
|
||||
digitalWrite(LEDA, LOW);
|
||||
digitalWrite(LEDB, LOW);
|
||||
|
||||
delay(200);
|
||||
|
||||
int wait = (analogRead(0) + analogRead(1)) % MAXWAIT;
|
||||
if(wait < 1) wait = analogRead(2) % MAXWAIT;
|
||||
wait++;
|
||||
|
||||
Serial.print("wait: ");
|
||||
Serial.println(wait, DEC);
|
||||
int state = 0; // 0 - running, 1 - A Verloren, 2 - B Verloren
|
||||
|
||||
//prüfen, das keiner zu früh drückt.
|
||||
for(int i = 0; i < wait; i++) {
|
||||
delay(MUL);
|
||||
if(digitalRead(KNOPFA) == 1) {
|
||||
//A Verloren
|
||||
state = 1;
|
||||
break;
|
||||
}
|
||||
if(analogRead(KNOPFB) == 1) {
|
||||
//B Verloren
|
||||
state = 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
check_end(state);
|
||||
if(state > 0) {
|
||||
delay(5000);
|
||||
return;
|
||||
}
|
||||
|
||||
//lampen an
|
||||
Serial.println("GOOO");
|
||||
digitalWrite(LEDA, HIGH);
|
||||
digitalWrite(LEDB, HIGH);
|
||||
|
||||
//prüfen wer als erstes drückt
|
||||
while(true) {
|
||||
if(digitalRead(KNOPFA) == 1) {
|
||||
//B Verloren
|
||||
check_end(2);
|
||||
break;
|
||||
}
|
||||
if(digitalRead(KNOPFB) == 1) {
|
||||
//A Verloren
|
||||
check_end(1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Serial.println("Ende");
|
||||
delay(5000); //5 sec nichts machen
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
#define KNOPFA 2
|
||||
#define KNOPFB 3
|
||||
|
||||
#define LEDA 8
|
||||
#define LEDB 9
|
||||
|
||||
void setup() {
|
||||
pinMode(KNOPFA, OUTPUT);
|
||||
pinMode(KNOPFB, OUTPUT);
|
||||
pinMode(13, OUTPUT);
|
||||
|
||||
pinMode(LEDA, INPUT);
|
||||
pinMode(LEDB, INPUT);
|
||||
|
||||
Serial.begin(9600);
|
||||
Serial.println("Setupdone");
|
||||
}
|
||||
|
||||
char a = 0;
|
||||
void loop() {
|
||||
|
||||
digitalWrite(LEDA, digitalRead(KNOPFA));
|
||||
digitalWrite(LEDB, digitalRead(KNOPFB));
|
||||
|
||||
Serial.print(digitalRead(KNOPFA), DEC);
|
||||
Serial.print(" ");
|
||||
Serial.println(digitalRead(KNOPFB), DEC);
|
||||
|
||||
delay(1);
|
||||
digitalWrite(13, (a++) & 1);
|
||||
|
||||
}
|
Loading…
Reference in New Issue