Ich bräuchte mal bitte einen Denkanstoß … irgenwie ist es wohl zu warm
Im Arduino-Framework gibt es eine Funktion “map”, die dazu dient, einen Wertebereich auf einen anderen Wertebereich abzubilden. Die Nutzung sieht so aus:
y = map(x, from_low, from_high, to_low, to_high)
y = Ergebnis
x = aktueller Wert
from_low = untere Grenze Eingangswert
from_high = obere Grenze Eingangswert
to_low = untere Grenze Ausgangswert
to_high = obere Grenze Ausgangswert
Beispiel:
y = map(x,50,1023,0,255)
Das heisst, dass x-Werte im Bereich von 50 bis 1023 proportional auf den Bereich 0 bis 255 abgebildet werden. x=50 führt zu y=0, x=1023 führt zu y=255. X-Werte unter 50 ergeben ebenfalls 0, X-Werte über 1023 ergeben 255 …
Das findet z.B. Anwendung bei der Anzeige von Sensorwerten (50…1023), die zu einer Anzeige oder PWM-Ausgabe im Bereich von 0…255 führt.
Das geht doch sicher in Xojo als Einzeiler oder zumindest “sehr klein”, oder? Danke für Tips.
Ich denke man muss die eine “Spannweite” durch die andere teilen und dann mit dem Eingangswert multiplizieren … oder so, das Ergebnis um den unteren Grenzwert anheben und am oberen begrenzen … im Moment kommt bei mir aber nur Unsinn dabei heraus …