hallöchen,
meine Technik gruppe in der Schule kommt beim programmieren nicht weiter (wir benutzen arduino IDE).
wir wollen ein "pferderennen" erstellen : Zwei Taster und zwei Reihen aus z.B. je 5 LEDs, die eine Pferderennbahn darstellen. Jeder Spieler hat einen Taster und eine Reihe LEDs. Auf ein Startzeichen hin, drücken die Spieler so schnell wie möglich wiederholt ihren Taster. Nach z.B. jedem 20ten Druck leuchtet eine weitere LED ihrer Reihe auf der Rennbahn auf. Der Spieler, bei dem zuerst alle 5 LEDs leuchten, hat gewonnen. Dann ertönt eine "Sieger"-Melodie. Es geht also darum, am schnellsten den Taster wiederholt zu drücken
unser bisheriger Code sieht so aus:
const int Taster_01 = 13;
const int Taster_02 = 12;
const int Lautsprecher = 1;
const int LED_01 [] = {11, 10, 9, 8, 7};
const int LED_02 [] = {6, 5, 4, 3, 2};
const unsigned int Startmelodie_Hoehe [] = {349, 349, 440, 391, 493,};
const unsigned int Startmelodie_Laenge [] = {400, 600, 200, 200, 800};
int var;
int Rueckgabe_01 = 0;
int Rueckgabe_02 = 0;
void setup() {
pinMode (Taster_01, INPUT);
pinMode (Taster_02, INPUT);
pinMode (Lautsprecher, OUTPUT);
for (int i = 0; i = 4; i++) {
pinMode (LED_01 [i], OUTPUT);
pinMode (LED_02 [i], OUTPUT);
}
}
void loop() {
while (digitalRead (Taster_01) + digitalRead (Taster_02) == 0) {
Startmelodie ();
}
Rueckgabe_01 = (digitalRead(Taster_01) * 1);
Rueckgabe_02 = (digitalRead(Taster_02) * 2);
switch (Rueckgabe_01) {
case 10:
digitalWrite (LED_01[0], HIGH);
break;
case 20:
digitalWrite (LED_01[1], HIGH);
break;
case 30:
digitalWrite (LED_01[2], HIGH);
break;
case 40:
digitalWrite (LED_01[3], HIGH);
break;
case 50:
digitalWrite (LED_01[4], HIGH);
break;
}
switch (Rueckgabe_02) {
case 20:
digitalWrite (LED_02[0], HIGH);
break;
case 40:
digitalWrite (LED_02[1], HIGH);
break;
case 60:
digitalWrite (LED_02[2], HIGH);
break;
case 80:
digitalWrite (LED_02[3], HIGH);
break;
case 100:
digitalWrite (LED_02[4], HIGH);
break;
}
}
void Startmelodie () {
while (var < 1) {
for (int Counter = 0; Counter < 4; Counter++) {
tone ( Lautsprecher, Startmelodie_Hoehe [Counter], Startmelodie_Laenge [Counter]);
delay (Startmelodie_Laenge [Counter] * 2);
}
var++;
}
}
wir wissen berspielsweise nicht, wie wir den Taster richtig auf HIGH und auf LOW stellen. habt ihr tipps wie der richtige code aussehen könnte?