如果 BMP280 发送错误值,可能是由于以下原因导致的:
以下是一个可能的示例代码来解决这个问题。首先,请确保使用了正确的库和正确的传感器地址:
#include
#include
#include
#define BMP_SDA 21
#define BMP_SCL 22
Adafruit_BMP280 bmp; // I2C
void setup() {
Serial.begin(9600);
while(!Serial) { }
if (!bmp.begin(0x76)) {
Serial.println("Could not find a valid BMP280 sensor, check wiring!");
while (1);
}
}
void loop() {
Serial.print("Temperature = ");
Serial.print(bmp.readTemperature());
Serial.println(" *C");
Serial.print("Pressure = ");
Serial.print(bmp.readPressure() / 100.0F);
Serial.println(" hPa");
Serial.print("Approx altitude = ");
Serial.print(bmp.readAltitude(1013.25)); /* Adjusted to local forecast! */
Serial.println(" m");
Serial.println();
delay(2000);
}
如果您的传感器不是使用 0x76 地址,那么需要更改 bmp.begin()
的参数。如果您仍然得到错误的值,那么请确保您的传感器和代码都无误,或者尝试更改 I2C 电缆。
有时候您的传感器需要等待一段时间才能稳定,因此请确保您的代码考虑到了等待的时间。