Arduino Uno goto Anweisung

Arduino Sketch - (Arduino, goto) Wert 85 im datArraya00[] / datArrayb00[] als Binärcode ausgegeben - (Arduino, goto) Wert 170 im datArraya00[] / datArrayb00[] als Binärcode ausgegeben - (Arduino, goto)

4 Antworten

Es gibt dafür viele Möglichkeiten, aber whollop hat keine Ahnung von Arduino.

http://www.arduino.cc/en/Reference/Else

Dieser Link zeigt dir, wie man Werte vergleicht und diese dann in verschiedenen Anweisungen sozusagen filtert.

IF THEN zusammen mit ELSE IF sind Grundlagen der Programmierung und genau was du hier anwenden kannst. Du musst nur aufpassen, dass du dann ungewünschte Ergebnisse ebenfalls herausfilterst. 

if (poti < 50)
{
  // do Thing A
}
else if (poti > 50)
{
  // do Thing B
}
else if (poti > 500)
{
  // do Thing C
}

Du musst nur schauen, dass du keine doppelten Ergebnisse erhältst, wie im obigen Beispiel, denn 500 ist auch größer als 50, also würde in diesem Fall, da 50 zuerst abgefragt wird, auch dieser Sprung gemacht werden. 

Besser ist es mit Logischen Anweisungen zu arbeiten, wo du genau festlegen kannst, was du wirklich am ende haben möchtest.

arduino.cc/en/Reference/Boolean 

If ( poti < 50 && poti > 30) dann bekommst du ein JA solange der Wert zwischen 30 und 50 liegt.

Ich weiß nicht, ob ich es richtig verstanden habe, aber ich würde das ganze mit Funktionen lösen: void irgendwas () { ... } Dann die Funktion aufrufen irgendwas()


markus9310 
Fragesteller
 10.05.2015, 18:43

ok, und wie würde das dann aussehen??

bsp:

void loop() {

    if(analogRead(potib > 0; potib < 50; potib++)) {prg00}

.

.

.

.

void pro00()

{

.

.

.

}

Meinst du es so?

0
W00dp3ckr  29.05.2015, 01:38
@markus9310

auch beim Aufruf prg0() und das Semikolon danach nicht vergessen, also

{prg0();}

0

Diese "Unterprogramme" nennt man Methoden! Ist recht komplex um es hier zuberklären, aber das Stichwort hilft dir sicher weiter ;-)