For- Next- Schleife

Gast #4483297
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
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
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
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 ;-)
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
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
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
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!
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
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.
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?
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?
Gast
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?

Am besten zum Kurt. Der ist genauso kompetent und seriös ;-)
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
@ 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
Nano schrieb:
>    Manchmal ist Zurückhaltung einfach besser.

Dann halt dich mal an deine eigenen Tipps. Deine Ausführungen sind 
absoluter Unfug. Nur weil dir jemand etwas nicht glaubt, oder etwas 
unterstellt, ist er weder Dumm noch Arm. Das ist nur beleidigtes 
Geschwafel ohne Sinn. Also lass doch gut sein.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.