Du rechnest munter mit "float" und "int".
Ich selbst vermeide float wo es nur geht, da die Verarbeitung deutlich langsamer ist als bei int.
Wenn ich mir mal kurz die Arduino Referenz ansehe:
https://www.arduino.cc/reference/en/...a-types/float/
Versuch doch mal als erstes:
Vout = (Vin * sensorValue) / 1023;
in
Vout = (Vin * (float)sensorValue) / 1023;
zu ändern.
Dann rechnest Du zumindest schon mal nicht mehr mit Äpfeln (int) und Birnen (float).
https://www.arduino.cc/en/Reference/Cast
Schneller wäre die ganze Berechung mit Int oder (wenn den 32 Bit benötigt werden) mit long durchzuführen.
Mann kann das ganze ja auf Millivolt oder Mikrovolt trimmen. Die Umrechnung in Volt und den Nachkomma Bereich ist dann nicht so schwer.
Lesezeichen