Frage von fantasywolfmoon, 40

Kann man bei Arduino bei der Startbedingung auch ein ">"oder"<" setzen?

Hallo,

ich habe vor Kurzem angefangen ein bisschen am Arduino zu programmieren. Ich habe auch schon erfolgreich einige Programme geschrieben.

Nun stehe ich vor einer gar nicht mal so komplexen Erausforderung. Und zwar habe ich einen Schrittmotor, und ein Poti. Das Programm soll den Motor so lange ansteuern, bis das Poti einen vorgegebenen Wert erreicht. Dann soll er abgeschaltet werden und die nächste Zeile wird ausgelesen. Ich habe schon die "For Schleife" ausprobiert, nur leider ist da die Startbedingung immer ein "=". Da das Poti zum Anfang aber bei einem Wert von 490 - 643 liegt, ist das natürlich nicht möglich.

Kann man bei der Startbedingung auch ein ">"oder"<" setzen und wie wird dann weiter verfahren ? Oder gibt es vieleicht eine bessere Lösung ? Was bedeutet das "i". Ich habe "GR", was auf den analogen Eingang A0 verweist, verwendet.

Vielen Dank

Antwort
von daCypher, 26

Bei deinem eigentlichen Problem kann ich dir leider nicht weiterhelfen.

Das in dem Bild funktioniert aber so nicht. Bei einer For-Schleife ist das erste nicht die "Startbedingung", sondern der Startwert. Also du erzeugst eine neue Integer-Variable mit dem Namen GR uns setzt ihn auf 0. Dann wird er so oft Inkrementiert, bis das GR<10 nicht mehr wahr ist.

Falls es für das Poti auch eine Variable gibt, kannst du GR auch mit der Variable initialisieren, also z.B.

 for (int GR = Poti; GR < 700; GR++)

Kommentar von daCypher ,

Achso, noch was. Das würde mit dem If zwar so gehen, wie ich es geschrieben hab, aber für Schleifen bei denen man vorher nicht weiß, wie oft sie laufen, benutzt man der Übersicht halber lieber eine While-Schleife. Also

while (Poti < 700)
{
   mach irgendwas
}

Antwort
von FooBar1, 15

Wie schon gesagt wurde wird im ersten Befehl der Wert traditionell initialisiert. Wenn du eine statt Bedienung nur einmal prüfen willst mach eine of Schleife darum wenn es immer zutrifft kannst du in der Mitte eine 2. Bedienung definieren

Keine passende Antwort gefunden?

Fragen Sie die Community