Go Down

Topic: Wie wird "i" definiert? (Read 1 time) previous topic - next topic

iBildermacher

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:
Code: [Select]
int ledPin[8] = {3, 4, 8, 9, 10, 11, 12, 13};

void setup() {
  for (int i = 0; i<13; i++) {
  pinMode(ledPin[i], OUTPUT);
  }
}

void loop()
{
  random(13); {
    digitalWrite (ledPin[i], HIGH);
  }
}


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?

Viele Grüße und danke schonmal:)
Florian

Webmeister

i wird lokal in setup() definiert.

Code: [Select]
for (int i = 0; i<13; i++) {

Aber im loop() ist i als Variable nicht bekannt. Vermutlich willst du den Zufallswert ausgeben, also:
Code: [Select]
void loop()
{
  int i=random(13);
digitalWrite (ledPin[i], HIGH);
}

Ich denke das sind auch noch zuviel Klammern  ;)

iBildermacher

#2
Feb 09, 2011, 06:28 pm Last Edit: Feb 09, 2011, 06:31 pm by iBildermacher Reason: 1
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
!

sth77

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.
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

iBildermacher

Ah stimmt ja:) entschuldigt für die Anfängerfragen, ich hoffe ich kann demnächst auch mal helfen:)

Viele Grüße
Florian

Go Up