Hallo,
ich bin immernoch am üben und mir stellen sich einige Fragen.
Ich wollte eine art "Sternenhimmel" programmieren. Dafür habe ich an jedem digitalen Pin eine Led.
Nun lautet mein Code:
das Programm sagt aber jetzt, dass "i" nicht definiert ist, aber laut meinem Buch muss ich dort nichts definieren, wenn ich es richtig verstanden habe?
Ich würde mich sehr über eine kurze Erkärung freuen:)
PS: gibt es eine Seite, wo ich solche Dinge direkt nachlesen kann? Am besten auf Deutsch, wegen der Fremdwörter?
Achso, dass heißt, ich kann auch auch in void setup oder void loop etwas definieren? Ich dachte, dass müsste man am Anfang.
Danke für die schnelle Hilfe:)
Was habe ich vergessen, damit die sichtbar nacheinander blinken? jetzt leuchten alle bzw. wenn ich in void loop noch delay(1000) anhänge, fängt eine nach der anderen an zu leuchten, erlischt aber nicht mehr
!
Zum Blinken gehört auch, dass man LEDs wieder ausmacht. Und deine Schleife läuft so schnell durch, dass im Bruchteil einer Sekunde ganz plötzlich alles leuchtet.
Kleiner Tipp von mir:
Pass auf mit Array-Grenzen, denn das merkt der Compiler meist nicht, und es führt zu Fehler, welche sehr schwer zu finden sind.
Ich persönlich verwende für Array-Grössen meistens eine Konstante. Siehe Beispiel unten. Es hat 2 zentrale Vorteile:
Wenn du das Array grosser/kleiner machst, musst du nur die Konstante ändern. (aber zuerst überlegen, insbesondere bei Ein/Ausgängen
Du hälst die Grenzen immer ein
#define MY_SIZE 5
int myarray[MY_SIZE];
for( int i=0 i < MY_SIZE; i++)
myarray[i] = i ;
Noch eine Falle für Anfänger: Ein Array beginnt immer bei 0. Also der erste Eintrag ist auf Position 0, bei deinem Beispiel mit 8 Einträgen wäre der 7. der Letzte.