For- Next- Schleife

Gast #4483297
Lesenswert?
• ▲
▼
Hallo,

bin beim einarbeiten zum Thema Arduino- NANO.
Es soll eine "For- Schleife" gebaut werden, die 5 mal die Led blinken 
lässt.
Der x- Wert soll im Seriellen Monitor angezeigt werden.
Es lässt sich compilieren, aber es blinkt nichts, es wird auch nichts 
angezeigt.
Wer weiss Rat.
Grüsse Nano

PS.: das übliche "Blink"- Programm funktioniert, sodass ich Aufbaufehler
ausschlisse.

const int LedGelb =  10;      //  Led gelb
int x = 0;
void setup() {
  Serial.begin(9600);
  pinMode(LedGelb, OUTPUT);

}
  void loop()
{
  for ( x=0; x=4;)
  x++;
    Serial.println(x);
 digitalWrite(LedGelb, HIGH);
  delay(250);
 digitalWrite(LedGelb, LOW);
  delay(250);
}
Gast #4483353
Lesenswert?
• ▲
▼
Hi!

Da ist nicht nur insgesamt mehr als ein Fehler in der for-Schleife.

Wenn die LED nur 5 mal blinken soll, hat das SO in der loop()-Funktion 
nichts verloren....

TIPP: Was passiert, wenn die momentan noch nicht funktionierende 
for-Schleife fertig ist mit der Bearbeitung?

Hans
#4483354
Lesenswert?
• ▲
▼
1
const int LedGelb =  10;      //  Led gelb
2
int x = 0;
3

4
void setup() {
5
  Serial.begin(9600);
6
  pinMode(LedGelb, OUTPUT);
7

8
}
9

10
void loop()
11
{
12
  for ( x=0; x<4; x++)
13
  {
14
    Serial.println(x);
15
    digitalWrite(LedGelb, HIGH);
16
    delay(250);
17
    digitalWrite(LedGelb, LOW);
18
    delay(250);
19
  }
20
}

So eine gescheite Formatierung wirkt Wunder . . .
Gast #4483392
Lesenswert?
• ▲
▼
Rufus Τ. F. schrieb:
> NANO schrieb:
>> Es soll eine "For- Schleife" gebaut werden, die 5 mal die Led blinken
>> lässt.
>
> Falk B. schrieb:
>> for ( x=0; x<4; x++)
>
> Was passt hier nicht?

Ich weiß es. Statt x<4 kann man auch x<5 schreiben (oder x<199) 
schreiben, das ändert rein gar nichts. Wobei ich erstmal zur 5 tendieren 
würde ;-)
#4483406
Lesenswert?
• ▲
▼
Rufus Τ. F. schrieb:
> NANO schrieb:
>> Es soll eine "For- Schleife" gebaut werden, die 5 mal die Led blinken
>> lässt.
>
> Falk B. schrieb:
>> for ( x=0; x<4; x++)
>
> Was passt hier nicht?

Eine Iteration zu wenig? Hier mal einige nicht gesuchte lösungen:
1
for ( x=0; x<-~4; x++)
1
for ( x=0; x<=4; x++)
1
for ( x=-1; x<4; x++)
1
for ( x=~0; x<4; x++)
1
for ( x=0; ~-x<4; x++)
1
for ( x=0; ++x<6; )
Gast #4483414
Lesenswert?
• ▲
▼
Rufus Τ. F. schrieb:
> npn schrieb:
>> Statt x<4 kann man auch x<5 schreiben (oder x<199) schreiben, das ändert
>> rein gar nichts.
>
> Im Arduino-Kontext vielleicht, aber innerhalb der Funktion loop tut es
> das sehr wohl.

Eben, genau darum gings mir ja.
Hier im konkreten Beispiel des TO ändert sich gar nichts. ;-)
Was nützt es dem TO, wenn er weiß, daß auf einem anderen System was 
anderes passiert als bei ihm auf dem Arduino?
Gast #4487370
Lesenswert?
• ▲
▼
Hallo,
vielen Dank für die bisherigen Hinweise, vorraging zur Formatierung 
meines, offensichtlich, fehlerhaften Source- Codes.
Jetzt siehts ja schön aus, auch wenn es nicht funktioniert.
Es sind definitiv keine Schulaufgaben! Das ist bei mir schon ewig her!
Habe da eher zwischenzeitlich selbst unterrichtet, allerdings andere 
Fachrichtungen.
Danke & Grüsse
Nano
Gast #4487378
Lesenswert?
• ▲
▼
1
 const int LedGelb =  10;      //  Led gelb
2
 int x = 0;
3
 
4
 void setup() {
5
   Serial.begin(9600);
6
   pinMode(LedGelb, OUTPUT);
7
 
8
   for ( x=0; x<4; x++)
9
   {
10
     Serial.println(x);
11
     digitalWrite(LedGelb, HIGH);
12
     delay(250);
13
     digitalWrite(LedGelb, LOW);
14
     delay(250);
15
   }
16
 }
17
 
18
 void loop()
19
 {
20
    Serial.println("ich sagte doch nur 5x!");
21
 }


Was ist die Bedeutung der Funktionen "setup()" und "loop()" genau?

Herr Ober! Einmal Nachdenken bitte!
#4487428
Lesenswert?
• ▲
▼
Genuino schrieb:

  [schnipps]

> Was ist die Bedeutung der Funktionen "setup()" und "loop()" genau?

Setup soll nur die Vorbereitungen zur eigentliche (Endlos-)Arbeit 
leisten. Eine Blink-Routine hat deswegen da gar nix verloren. 6-, 
Klassenziel nicht erreicht, sitzenbleiben und nachholen.

> Herr Ober! Einmal Nachdenken bitte!

Ja ja.

1
const int LedYellow =  10;
2
int x = 0;
3
 
4
void setup() {
5
  Serial.begin(9600);
6
  pinMode(LedYellow, OUTPUT);
7
}
8
 
9
void loop()
10
{
11
  /* Blink if necessary */
12
  if ( x < 10)
13
  {
14
    Serial.println(x);
15
    if (x & 1)
16
    {
17
      digitalWrite(LedYellow, LOW);
18
    } else {
19
      digitalWrite(LedYellow, HIGH);
20
    }
21
    x++;
22
  }
23

24
  delay(250);
25
}
Gast #4487443
Lesenswert?
• ▲
▼
Das ist aber auch sehr unsauber. Erreicht werden soll, daß 5mal geblinkt 
wird und dann NICHT wieder.
Wo ist der Abbruch nach 5maligem Blinken bei dir?
Kleiner Tipp von mir: x kann nicht unendlich incrementiert werden ;-)

Eric B. schrieb:
> 6-, Klassenziel nicht erreicht, sitzenbleiben und nachholen.
#4487451
Lesenswert?
• ▲
▼
Langsam wird es echt mal Zeit für ein Arduino Unterforum. Da können sich 
dann die ganzen Programmier-Legastheniker gegenseitig eine for-Scheife 
erklären. Aber so ein unwürdiges Schauspiel muss doch nicht ins reguläre 
Forum oder? Wie weit soll das Niveau hier noch sinken? Als nächstes 
nehmen wir Malen nach Zahlen für Vorschüler durch?
#4487495
Lesenswert?
• ▲
▼
Jodel schrieb:
> Ich gratuliere dir zum 7431 destruktiven Beitrag.

Eigentlich ist die Forderung ein neues Unterforum einzurichten eher 
Konstruktiv. Ich würde mich natürlich auch als Moderator zur Verfügung 
stellen. Ich bringt alles dafür mit: Bin freundlich, kompetent, seriös 
und unbestechlich (außer durch Geld, Essen oder Frauen) Wo kann ich da 
meine Bewerbung hinschicken?
#4487570
Lesenswert?
• ▲
▼
Jan H. schrieb:
> Cyblord -. schrieb:
>> Ich bringt alles dafür mit: Bin freundlich, kompetent, seriös und
>> unbestechlich (außer durch Geld, Essen oder Frauen) Wo kann ich da meine
>> Bewerbung hinschicken?
>
> Manchmal kann ich mich einfach nicht entscheiden, ob ich man dir eine
> Kopfnuss oder ein Bier spendieren sollte :-D

Im Einklang mit unserer Entscheidungsunfähiger Gesellschaft würde ich 
sagen: Beides!
Gast #4488961
Lesenswert?
• ▲
▼
@ Der Andere,
   wie kann man nur schlecht denken.
   Nochmal:
   Es handelt sich tatsächlich um persönliches Interesse und um keine
   Schulaufgaben. (1. Thread lesen)
   Darum:
   Vielleicht kannst Du es nicht begreifen --> unwissender  Mensch
   Vielleicht willst Du es nicht begreifen --> armer Mensch
   Manchmal ist Zurückhaltung einfach besser.

   Nano

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.