Wertebereich neu zuordnen

Schönen Sonntag zusammen,

ich habe einen kleinen ,Boardcomputer" für meinen T4 bebalstet mit einem OLED Display.
Unter anderem misst dieser die Boardbatterie und die Starterbatterie.

Jetzt möchte ich auf einem kleinen Balken den Ladezustand der Batterie anzeigen lassen.
Der Wertebereich geht von 9V bis 13V (siehe angehängte Bilder unten).

Mein Display ist 128 Pixel breit.

Der 9 Volt Strich ist 10 Pixel vom linken Rand weg und der 13V Strich ist 10 Pixel vom rechten Rand weg.
Das heißt mein Pixelbereich für den Balken beträgt 108 Pixel.

Wie kann ich jetzt den Messbereich von 9-13V auf den Pixelbereich auf meinem Display skalieren ?

mfg. mammut

Foto 06.03.16, 11 23 08.jpg

Foto 06.03.16, 11 23 58.jpg

Naja, das ist ja recht einfache Mathematik.

Wenn Du 108 Pixel für 4 Volt hast - dann würde ich mal sagen 108/4 = 27 Pixel pro Volt.

Oder versteh ich das Problem nicht?

So weit war ich natürlich auch schon.

Aber wie bekomme ich das Code hin ?

GOFoled.fillRect(x1, y1, x2, y2, WHITE);

irgendwie stehe ich auf dem Schlauch...

  1. die Spannng der Batterie geht bis 13,8V
  2. nimm map() map() - Arduino Reference

Balkenlänge = map((spannung*100), 900, 1300, 10, 118);

Ich multipliziere mit 100 weil map mit int werten rechnet.

Grüße Uwe