Dags för lite funderingar om lufttrycksmätningen. Här används en MPXA4115A, och mätresultatet beror av drivspänningen. Koden jag använder ser ut som följer:
Kod: Markera allt
sensorValue = analogRead(prpin);
// Convert reading
sensorValue = sensorValue * 0.004887586;
sensorValue = sensorValue / 5;
sensorValue = sensorValue + 0.095;
sensorValue = sensorValue / 0.009;
sensorValue = sensorValue * 10; // *10 gives value in hPa instead of kPa
Serial.println(sensorValue);
Detta förutsätter en drivspänning på exakt 5 volt vilket naturligtvis inte är bra. Resultatet blev nu 1042.89, Såtenäs väderstation ett par kilometer bort mätte 1046.9 hPa för 1,5 timme sedan. Inte så illa, men inte rätt.
Sensorn mäter mellan 150-1150hPa och ger en utspänning som som mest uppgår till 4,863 volt.
Lufttrycket i Sverige ligger vanligtvis mellan 950-1050hPa med 938 och 1063 som lägst respektive högsta uppmätta värde.
Utspänningen från sensorn kommer då att ligga mellan 3,8 och 4,5 volt, det blir svårt att använda någon intern eller extern spänningsreferens. Men det spelar ingen roll då enheten kommer att drivas av en 7805, drivspänningen blir stabil och kan användas som referens.
Här och nu är det dock USB som spänningsmatar med en uppmätt spänning på 4,58 volt. Koden anpassas för detta:
Kod: Markera allt
sensorValue = sensorValue * 0.004477;
sensorValue = sensorValue / 4.58;
Resultatet blir då 1042.88, nästan samma som förut. Får nog göra fler mätningar för att se om felet beror på avståndet till referensen, uträkningen eller toleranser i min sensor.