Ultraschallabstandsmessung

Hey Leute bin neu hier im Forum und bräuchte eure Hilfe.

Ich bin im Zuge meiner Bachelorarbeit das erste mal mit Arduinos in Kontakt gekommen.
Ich möchte mit einem Arduino UNO einen Ultraschallabstandssensor auslesen.
Der Sensor hat einen Analogausgang mit 2 Modi entweder er gibt eine Spannung von 0-10V aus oder 4-20mA. Da der Arduino maximal 5V verträgt ist der Sensor im Ampermodus. Nun möchte ich mit Hilfe des Arduino messen wie viel Spannung an einem 150 Ohm Widerstand abfällt. Hier beginnen die ersten Probleme ein Multimeter zeigt mir ein Minimum von 0,55V und ein Maximum von 3,24V an. nach Rechnung müssten es 0,6 und 3V sein.
Wenn ich den Sensor nun auslesen möchte mit der Untergrenze von 0,55V und Obergrenze von 3,24V weicht der Sensor immer um wenige mm vom Wert ab.

Der Code fürs auslesen sieht folgendermaßen aus.

for (k =0; k <= f_no; k++)
{
analogRead(analogPin4);
messwert4 = map(analogRead(analogPin4),122.04,612.24,20.00,70.00);
daverage4 += messwert4;
}
daverage4 /= f_no;

Bei dem Sensor handelt es sich um dieses Model
https://www.di-soric.com/int-de/PM/Sensoren/Ultraschallsensoren/Ultraschallschranken-taster/US-Q12/US-Q12-M-200-IU-T4__210963

Ich wäre sehr dankbar für eure Hilfe da ich langsam am verzweifeln bin

Ihr Beitrag wurde an seinen aktuellen Speicherort verschoben, da er besser geeignet ist.

Das ist m.E. nicht zwingend nötig.
Du könntest mit einem Spannungsteiler (z.B. zwei 10k Ohm) auf 5V kommen.

Hier findest du die Info, die du brauchst.

Hast Du den mal nachgemessen, welchen Widerstand hat er denn wirklich.

Heinz

Jede Messung ist ungenau.
Und hat bei der Digitalisierung nur eine begrenzte Auflösung.

Um welchen Messbereich geht es?
Wenn die Abweichung reproduzierbar konstant ist, könntest du die Skalierung analogRead -> Abstand einmal experimentell kalibrieren. Das ist einfacher, als einen hochgenauen 150 Ohm Widerstand zu suchen.

map() arbeitet übrigens mit long Ganzzahlen, nicht mit Gleitkomma-Werten.
Integer-Arithmetik ist prinzipiell super, nur muss man ein wenig aufpassen.