Das Sensormodul HX710B kann Luftdruck im Bereich von 0 bis 40 Kilopascal (kPa) messen und wandelt das Ergebnis in elektrische Impulse um, welche beispielsweise Mikrocontroller lesen und interpretieren können.
Das HX710B ist ein piezoresistiver Drucksensor, der den Druck bestimmt, indem er Schwankungen des
elektrischen Widerstands erkennt, die durch druckinduzierte Verschiebung eines Sensorelements entstehen.
Das Modul besteht aus einem Druckmesselement, einer Signalaufbereitungsschaltung und einem Ausgangsverstärker.
Der Signalaufbereitungsschaltkreis verstärkt und reinigt das elektrische Signal vom Sensorelement, und
der Ausgangsverstärker erzeugt eine Spannung oder einen Strom proportional zum vom Sensor erfassten Druck.
Betriebsspannung: | 1,8V bis 5,5V |
---|---|
Betriebstemperatur: | -40°C bis +125°C |
Betriebs-Umgebungsdruck: | 30kPa bis 110kPa |
Empfindlichkeit: | 80mV/kPa |
Gesamtfehler: | ±2% |
Langzeitstabilität: | ±1% pro Jahr |
Reaktionszeit: | ≤ 1ms |
Zur Stabilisierung der Spannung kann noch ein 100nF-Kondensator zwischen VCC und GND des HX710B geschaltet werden.
#define PIN_OUT 2
#define PIN_SCK 3
void setup()
{
pinMode(PIN_OUT, INPUT);
pinMode(PIN_SCK, OUTPUT);
Serial.begin(9600);
}
void loop()
{
// wait for the current reading to finish
while (digitalRead(PIN_OUT)) {}
// read 24 bits
long result = 0;
for (int i = 0; i < 24; i++) {
digitalWrite(PIN_SCK, HIGH);
digitalWrite(PIN_SCK, LOW);
result = result << 1;
if (digitalRead(PIN_OUT)) {
result++;
}
}
// get the 2s compliment
result = result ^ 0x800000;
// pulse the clock line 3 times to start the next pressure reading
for (byte i = 0; i < 3; i++) {
digitalWrite(PIN_SCK, HIGH);
digitalWrite(PIN_SCK, LOW);
}
Serial.println(result);
delay(50);
}
zurück