Introduction
The BME280 is a high-precision sensor from Bosch that measures temperature, humidity, and barometric pressure. It's much more accurate than the DHT11/22 sensors.
Wiring (I2C)
| BME280 | ESP32 |
|---|---|
| VCC | 3.3V |
| GND | GND |
| SCL | GPIO 22 |
| SDA | GPIO 21 |
Libraries
Install Adafruit BME280 Library from the Library Manager.
The Code
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
Adafruit_BME280 bme;
void setup() {
Serial.begin(115200);
if (!bme.begin(0x76)) {
Serial.println("Could not find BME280 sensor!");
while (1);
}
}
void loop() {
Serial.print("Temp: "); Serial.print(bme.readTemperature()); Serial.println(" *C");
Serial.print("Hum: "); Serial.print(bme.readHumidity()); Serial.println(" %");
Serial.print("Pres: "); Serial.print(bme.readPressure() / 100.0F); Serial.println(" hPa");
delay(2000);
}