ich sitze gerade an einem Projekt und muss einen Drucksensor auslesen. Dazu benutze ich einen Arduino Uno R3. Der Sensor benötigt eine Versorgungsspannung von 5V, misst in einem Bereich von -900 bis 2000 mbar. Der Analoge Output gibt dabei Spannungen zwischen 0,5V und 4,5V aus.
Den Sensor habe ich ausgelesen und kalibriert. Das Problem ist, dass der Sensor noch zu ungenau misst. Da der negative Bereich des Sensors für das Projekt nicht relevant ist habe ich mir gedacht, dass ich diesen Bereich vernachlässigen kann. So kann ich meine 10-Bit auf einen kleineren Bereich abbilden lassen. Bei 0 mbar erhalte ich eine Spannung von 1,76V, deswegen wollte ich mich auf diesen Bereich, also 1,76V-4,5V beschränken. Das ganze wollte ich mit der map-Funktion umsetzen, jedoch hat das nicht wirklich funktioniert.
Ich wäre sehr dankbar wenn mir jemand weiterhelfen könnte.
Ist der Ansatz mit der map-Funktion überhaupt richtig?
Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden. Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.
M.E. nicht, sicher kannst Du da von 1,76-4,5V mappen.
Das ändert aber nichts an der Funktion analogRead().
-> Die Arduino-Boards enthalten einen 10-Bit-Analog-zu-Digital-Konverter. D.h. das Board mappt Eingangsspannungen zwischen 0 und 5 V auf Integer-Werte zwischen 0 und 1023.
Der Hauptgrund weshalb ich auf Boards mit dem LGT8F328p Chip umgestiegen bin ist der 12 Bit AD Wandler. Auflösung immerhin 4x so hoch, keine externen Komponenten nötig und recht linear ist er auch.
Mittelwerte muss man eigentlich immer bilden, um das Rauschen weg zu bekommen...