Hallo,
ich habe den MPX4115A an meinen ATMega16 angeschlossen und bekomme die
Werte siehe Foto.
Ich verstehe allerdings nicht wieso der "tenBitValue"-Wert richtig ist
die Umrechnung allerdings nicht.
Rein rechnerisch müsste eigentlich 1013hPa rauskommen, was vom Wert her
wohl passen sollte. Aber trotz meiner Multiplikation von 10 um von kPa
zu hPa zu gelangen kommt nur der Wert 105 raus.
An der Auflösung von 10bit kann es ja eigentlich nicht liegen, da der
Wert von 836 richtig zu sein scheint.
Ich muss wohl irgendwie bei den Datentypen einen Fehler begangen haben.
Leider kenne ich mich was das betrifft noch nicht sehr gut aus.
Ausschnitte aus der main.c:
float phPa;
char phPa_char[4];
char tenBitValue_char[4];
uint8_t theLow = ADCL; //Need to read ADCL before ADCH
uint16_t tenBitValue = ADCH << 8 | theLow;
//convert tenBitValue from adc to hPa-Value
phPa = ((tenBitValue/1023+0.095)/0.009)*10; //in hPa
//Convert the ADC conversion result to a string
itoa(phPa, phPa_char, 10);
//Value between 0-1023
itoa(tenBitValue, tenBitValue_char, 10);