/*
ESP32-C3
Lettura dati da sensore BME280
www.adrirobot.it
https://www.adrirobot.it/sensore-bme280-pressione-umidita-temperatura/
*/
#include <Wire.h>
#include <Adafruit_BME280.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
Adafruit_BME280 bme;
// Pin I2C ESP32-C3 SuperMini
#define SDA_PIN 8
#define SCL_PIN 9
void setup() {
Serial.begin(115200);
Wire.begin(SDA_PIN, SCL_PIN);
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println("OLED non trovato");
while (1)
;
}
display.clearDisplay();
display.setTextColor(SSD1306_WHITE);
if (!bme.begin(0x76)) { // Cambiare in 0x77 se necessario
display.clearDisplay();
display.setCursor(0, 0);
display.println("BME280");
display.println("NON TROVATO");
display.display();
Serial.println("BME280 non trovato");
while (1)
;
}
display.clearDisplay();
display.setTextSize(2);
display.setCursor(20, 20);
display.println("BME280");
display.display();
delay(2000);
}
void loop() {
float temperatura = bme.readTemperature();
float umidita = bme.readHumidity();
float pressione = bme.readPressure() / 100.0F;
float altitudine = bme.readAltitude(1013.25);
display.clearDisplay();
display.setTextSize(1);
display.setCursor(20, 0);
display.println("SENSORE BME 280");
display.setCursor(21,9);
display.println("Elettronica In");
display.setCursor(0, 18);
display.print("Temperatura: ");
display.print(temperatura, 1);
display.print((char)247);
display.print("C");
display.setCursor(0, 30);
display.print("Umidita: ");
display.print(umidita, 1);
display.print("%");
display.setCursor(0, 42);
display.print("Press.: ");
display.print(pressione, 1);
display.print(" hPa");
display.setCursor(0, 54);
display.print("Alt: ");
display.print(altitudine, 1);
display.print(" m");
display.display();
Serial.print("T=");
Serial.print(temperatura);
Serial.print(" H=");
Serial.print(umidita);
Serial.print(" P=");
Serial.print(pressione);
Serial.print(" Alt=");
Serial.println(altitudine);
delay(2000);
}Loading
esp32-c3-devkitm-1
esp32-c3-devkitm-1
www.adrirobot.it
Loading
ssd1306
ssd1306