In der Doku stand "initialize sensor"
der untenstehende Code prüft nur ob die Sensoren arbeiten
// Check if pressure sensor is started
if (!BARO.begin()) {
Serial.println("Failed to initialize pressure sensor!");
while (1);
}
// Check if Temperature and Humidity sensor is started
if (!HS300x.begin()) {
Serial.println("Failed to initialize humidity temperature sensor!");
while (1);
}
Also kann man auch mehrere Sensoren auslesen, nur einfach die notwendigen Bibliotheken einbinden dann läuft das hier der gesamte Code:
Und das geht ganz einfach nacheinander
Ich dachte ich muß die Sensoren starten zum auslesen
Hier der komplette Code
/*
LPS22HB - Read Pressure
HS300x. - Read Temperature and Humidity
This example reads data from the on-board LPS22HB sensor of the Nano 33 BLE Sense Rev2,
converts the atmospheric pressure sensor values to pressure at sea level, and
temperature and humidity from HS300x sensor and prints them to the
Serial Monitor every 5 second.
The circuit:
- Arduino Nano 33 BLE Sense Rev2
This example code is in the public domain.
*/
#include <Arduino_LPS22HB.h>
#include <Arduino_HS300x.h>
//local altitude above sealevel
float myalt = 408; // my altitude at home
void setup() {
Serial.begin(9600);
while (!Serial);
// Check if pressure sensor is started
if (!BARO.begin()) {
Serial.println("Failed to initialize pressure sensor!");
while (1);
}
// Check if Temperature and Humidity sensor is started
if (!HS300x.begin()) {
Serial.println("Failed to initialize humidity temperature sensor!");
while (1);
}
}
void loop() {
// read the sensor value from pressure sensor in hPa
float pressure = BARO.readPressure() * 10;
//print the pressure
Serial.print("Pressure is ");
Serial.print(pressure);
Serial.print(" hPa at ");
Serial.print(myalt);
Serial.println(" m");
// float temperature = BARO.readTemperature();
float temperature = HS300x.readTemperature();
// print te temperature
Serial.print("Temperature is ");
Serial.print(temperature);
Serial.println(" °C");
//calculate Temperature at sealevel
float temp0 = (temperature + 273.15) + (0.0065 * myalt);
//calculate pressure at sealevel
float temph = temperature + 273.15;
float press0 = pressure * pow(temph/temp0, -5.225);
//print pressure at sealevel
Serial.print("Pressure is ");
Serial.print(press0);
Serial.print(" hPa ");
Serial.println("at sealevel");
//calculate altitude with the pressure at sealevel
float altitude = 44330 * ( 1 - pow(pressure/press0, 1/5.255) );
//print calculated altitude
Serial.print("alt. calc is ");
Serial.print(altitude);
Serial.println(" m");
float humidity = HS300x.readHumidity();
// print humidity
Serial.print("Humidity ");
Serial.print(humidity);
Serial.println(" %");
// print an empty line
Serial.println();
// wait 5 second to print again
delay(5000);
}