Hallo,
mir ist bewusst, dass schon zahlreiche Post zu oben genannter Fehlermeldung existieren, allerdings haben mir diese beim Lösen meines Problemes im Endeffekt nicht geholfen.
Und zwar muss ich für die Schule ein Projekt machen, in dem man zu einem Musikstück eine "Lightshow" mit eben maximal 12 LEDs programmiert. Dementsprechend ist der Code sehr simpel, denn im Unterricht kratzt man eigentlich nur an der Oberfläche dieses Programmes (der Lehrer hat mir auch nicht helfen können).
Das hier ist der Code:
void loop() {
void DesDur() {
// Der erste Akkord der viertaktigen Akkordfolge.
digitalWrite(13,HIGH);
delay(L);
digitalWrite(13,LOW);
digitalWrite(5,HIGH);
delay(K);
digitalWrite(5,LOW);
digitalWrite(13,HIGH);
delay(L);
digitalWrite(13,LOW);
digitalWrite(5,HIGH);
delay(K);
digitalWrite(5,LOW);
digitalWrite(13,HIGH);
delay(L);
digitalWrite(13,LOW);
digitalWrite(5,HIGH);
delay(K);
digitalWrite(5,LOW);
digitalWrite(13,HIGH);
delay(L);
digitalWrite(13,LOW);
digitalWrite(5,HIGH);
delay(K);
digitalWrite(5,LOW);
}
void AsDur() {
// Der zweite Akkord der viertaktigen Akkordfolge.
digitalWrite(3,HIGH);
delay(L);
digitalWrite(3,LOW);
digitalWrite(7,HIGH);
delay(K);
digitalWrite(7,LOW);
digitalWrite(3,HIGH);
delay(L);
digitalWrite(3,LOW);
digitalWrite(7,HIGH);
delay(K);
digitalWrite(7,LOW);
digitalWrite(3,HIGH);
delay(L);
digitalWrite(3,LOW);
digitalWrite(7,HIGH);
delay(K);
digitalWrite(7,LOW);
digitalWrite(3,HIGH);
delay(L);
digitalWrite(3,LOW);
digitalWrite(7,HIGH);
delay(K);
digitalWrite(7,LOW);
}
void Bmoll() {
// Der dritte Akkord der viertaktigen Akkordfolge.
digitalWrite(2,HIGH);
delay(L);
digitalWrite(2,LOW);
digitalWrite(6,HIGH);
delay(K);
digitalWrite(6,LOW);
digitalWrite(2,HIGH);
delay(L);
digitalWrite(2,LOW);
digitalWrite(6,HIGH);
delay(K);
digitalWrite(6,LOW);
digitalWrite(2,HIGH);
delay(L);
digitalWrite(2,LOW);
digitalWrite(6,HIGH);
delay(K);
digitalWrite(6,LOW);
digitalWrite(2,HIGH);
delay(L);
digitalWrite(2,LOW);
digitalWrite(6,HIGH);
delay(K);
digitalWrite(6,LOW);
}
void GesDurNormal() {
// Der vierte Akkord der viertaktigen Akkordfolge, ohne Tonverschiebung.
digitalWrite(4,HIGH);
delay(L);
digitalWrite(4,LOW);
digitalWrite(8,HIGH);
delay(K);
digitalWrite(8,LOW);
digitalWrite(4,HIGH);
delay(L);
digitalWrite(4,LOW);
digitalWrite(8,HIGH);
delay(K);
digitalWrite(8,LOW);
digitalWrite(4,HIGH);
delay(L);
digitalWrite(4,LOW);
digitalWrite(8,HIGH);
delay(K);
digitalWrite(8,LOW);
digitalWrite(4,HIGH);
delay(L);
digitalWrite(4,LOW);
digitalWrite(8,HIGH);
delay(K);
digitalWrite(8,LOW);
}
void GesDurVersch() {
// Der vierte Akkord der viertaktigen Akkordfolge, mit Tonverschiebung.
digitalWrite(4,HIGH);
delay(L);
digitalWrite(4,LOW);
digitalWrite(8,HIGH);
delay(K);
digitalWrite(8,LOW);
digitalWrite(4,HIGH);
delay(L);
digitalWrite(4,LOW);
digitalWrite(8,HIGH);
delay(K);
digitalWrite(8,LOW);
digitalWrite(4,HIGH);
delay(L);
digitalWrite(4,LOW);
digitalWrite(8,HIGH);
delay(K);
digitalWrite(8,LOW);
digitalWrite(5,HIGH);
delay(L);
digitalWrite(5,LOW);
digitalWrite(8,HIGH);
delay(K);
digitalWrite(8,LOW);
}
void Schluss() {
// Die letzten vier Takte vor dem Schlussakkord.
// Schluss erster Takt.
digitalWrite(13,HIGH);
digitalWrite(5,HIGH);
digitalWrite(9,HIGH);
delay(G);
digitalWrite(13,LOW);
digitalWrite(5,LOW);
digitalWrite(9,LOW);
// Schluss zweiter Takt.
digitalWrite(2,HIGH);
digitalWrite(6,HIGH);
digitalWrite(11,HIGH);
delay(G);
digitalWrite(2,LOW);
digitalWrite(6,LOW);
digitalWrite(11,LOW);
// Schluss dritter Takt.
digitalWrite(2,HIGH);
digitalWrite(6,HIGH);
digitalWrite(10,HIGH);
delay(G);
digitalWrite(2,LOW);
digitalWrite(6,LOW);
digitalWrite(10,LOW);
// Schluss vierter Takt.
digitalWrite(4,HIGH);
digitalWrite(8,HIGH);
digitalWrite(12,HIGH);
delay(G);
digitalWrite(4,LOW);
digitalWrite(8,LOW);
digitalWrite(12,LOW);
}
void Schlussakkord() {
digitalWrite(13,HIGH);
digitalWrite(5,HIGH);
digitalWrite(9,HIGH);
delay(G+G);
digitalWrite(13,LOW);
digitalWrite(5,LOW);
digitalWrite(9,LOW);
}
void Akkorde() {
// Bildet die viertaktige Akkordfolge ohne Tonverschiebung.
DesDur;
AsDur;
Bmoll;
GesDurNormal;
}
void AkkordeVersch() {
// Bildet die viertaktige Akkordfolge mit Tonverschiebung.
DesDur;
AsDur;
Bmoll;
GesDurVersch;
}
void AkkordeBass() {
// Bildet die viertaktige Akkordfolge ohne Tonverschiebung.
DesDurBass;
AsDurBass;
BmollBass;
GesDurNormalBass;
}
void AkkordeVerschBass() {
// Bildet die viertaktige Akkordfolge mit Tonverschiebung.
DesDurBass;
AsDurBass;
BmollBass;
GesDurVerschBass;
}
// Das finale Stück.
AkkordeVersch;
Akkorde;
AkkordeVersch;
Akkorde;
Akkorde;
AkkordeBass;
AkkordeBass;
AkkordeVersch;
Akkorde;
AkkordeVersch;
Akkorde;
Akkorde;
AkkordeBass;
AkkordeBass;
Bruecke;
Chorus2;
AkkordeBass;
DesDurBass;
AsDurBass;
BmollBass;
GesDurVersch;
Schluss;
Schlussakkord;
}
In diesem Code kommt die Fehlermeldung beim Unterprogramm "AkkordeVerschBass" (fast am Ende des Codes). Ich habe den Code kürzen müssen, eigentlich wären die restlichen Unterprogramme und die Variablen natürlich noch definiert.
Ich schaffe es zwar, die Fehlermeldung durch das Setzen von weiteren geschweiften Klammern zu beheben, jedoch nur zu verschieben. Ich kriege also immer die selbe Fehlermeldung, bloß an anderen Stellen. Bisher hat keiner meiner etlichen Versuche eine endgültige Lösung gebracht.
Aus den anderen Posts zu dieser Fehlermeldung wurde deutlich, dass das Problem wohl bei den Klammer liegt, aber ich kann keine Klammern finden, die geöffnet und nicht mehr geschlossen werden oder umgekehrt.
Danke im Voraus für alle zur Hilfe gedachten Antworten.
(Für die, die es interessiert: Der Code stellt praktisch die Klavierbegleitung zu "Someone you loved" von Lewis Capaldi in LEDs dar.)