Grundlegende Frage zur Verwertung von ADC-Daten eines Arduino

OP #2824257
Lesenswert?

Hallo, habe eine ganz allgemeine Frage, will nur sichergehen das ich das 
richtig sehe.

Also es geht darum, dass mehrere Werte über die verschiedenen analogen 
Eingänge eingelesen werden.
Aufgrund dieser werte (Sensorwerte) sollen dann Motoren angesteuert 
werden.

So, ich habe nun eine Funktion geschrieben die die Werte einliest, und 
eine die aufgrund der Werte Motoren ansteuert. Diese beide Funktionen 
starte ich in der loop Funktion.

Nun die eigentliche Frage:
Es ist doch dann so, dass ich in der Motorsteuerung keine 
while-Schleifen benutzen kann, die sich auf die eingelesenen Sensorwerte 
beziehen oder?
Ich meine innerhalb dieser while-Schleife ändert sich ja der Wert nicht, 
bzw. wird nicht neu eingelesen. Aber ich kann doch nicht nur mit if's 
arbeiten, gibt es da irgend eine bessere Möglichkeit oder habe ich grad 
ein riesen Brett vorm Kopf?

Gruß
#2824286
Lesenswert?

Carsten L. schrieb:
> Hallo, habe eine ganz allgemeine Frage, will nur sichergehen das ich das
> richtig sehe.
>
> Also es geht darum, dass mehrere Werte über die verschiedenen analogen
> Eingänge eingelesen werden.
> Aufgrund dieser werte (Sensorwerte) sollen dann Motoren angesteuert
> werden.
>
> So, ich habe nun eine Funktion geschrieben die die Werte einliest, und
> eine die aufgrund der Werte Motoren ansteuert. Diese beide Funktionen
> starte ich in der loop Funktion.

Du rufst sie aus der 'loop' auf.
(Du startest nichts. Starten impliziert, dass das dann von alleine 
weitermacht. Tut es aber nicht. Die Funktion wird aufgerufen, macht ihr 
Ding und kommt zurück)

> Nun die eigentliche Frage:
> Es ist doch dann so, dass ich in der Motorsteuerung keine
> while-Schleifen benutzen kann, die sich auf die eingelesenen Sensorwerte
> beziehen oder?

Richtig.,

> Ich meine innerhalb dieser while-Schleife ändert sich ja der Wert nicht,
> bzw. wird nicht neu eingelesen.

Richtig.

> Aber ich kann doch nicht nur mit if's
> arbeiten,

doch.

Die Schleife, die du verzweifelt suchst steckt beim Aufrufer von loop. 
Der sorgt dafür, dass loop, und damit dann auch deine Motorfunktion, 
wieder und immer wieder aufgerufen wird.

Und bei jedem Aufruf kann deine Funktion anhand der Motorposition und 
des jeweils neuesten ADC Wertes entscheiden, ob der MOtor noch 
eingeschaltet bleiben muss (bis zum nächsten Aufruf der Funktion) oder 
ob es Zeit ist den Motor abzuschalten.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren