ich möchte von dem genannten Sensor den Druck und die Temperatur per I²C auslesen und seriell mitschreiben. Die Hardware läuft soweit, doch ich habe keine Ahnung wie ich Werte von dem Sensor bekomme, kann mir bitte jemand behilflich sein?
Bei I²C starte ich mit einem I²C-Scanner, um zunächst die Anschlüsse, die Funktion der PullUp-Widerstände zu überprüfen und letztlich die Adresse zu ermitteln. Beispielsweise Arduino MultiSpeed I2C Scanner.
Ich verstehe das so, daß zunächst drei Byte als Anforderung "ich möchte einen Druckmeßwert haben" geschickt werden müssen. Erst danach kann der Wert gelesen werden. Mein ungetesteter Vorschlag dazu:
void loop()
{
uint8_t a = 0, b = 0, c = 0;
Wire.beginTransmission(I2C_ADDR);
Wire.write(0x2E);
Wire.write(0x21);
Wire.write(0x00);
Wire.endTransmission();
Wire.requestFrom(I2C_ADDR, 3); // drei Bytes holen
a = Wire.read();
b = Wire.read();
c = Wire.read();
Serial.print( " 0x");
Serial.print( a, HEX);
Serial.print( " 0x");
Serial.print( b, HEX);
Serial.print( " 0x");
Serial.print( c, HEX);
Serial.println();
delay(1000);
}
Denn b ist ja offensichtlich das höherwertige byte [8...15] und c das niederwertige [0...7]. Deshalb b um 8 bits nach links geschoben und dann mit c verodert.