Station météo esp32

Bonjour, je me suis lancé dans un projet où j'utilise

un esp32-C3 référence: https://fr.aliexpress.com/item/1005007032546456.html
un capteur 2-in-1 BMP280 + AHT20 : https://fr.aliexpress.com/item/1005007628762963.html
et un écran ssd1306 ou 1315 : https://fr.aliexpress.com/item/1005004993682117.html

et j'ai le code mais je sais pas si il est juste :

#include <Wire.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_AHTX0.h>
#include <Adafruit_BMP280.h>

// OLED display size
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64

// I2C pins for AHT20
#define AHT20_SDA 8
#define AHT20_SCL 9

// I2C pins for BMP280
#define BMP280_SDA 10
#define BMP280_SCL 11

// I2C addresses
#define AHT20_I2C_ADDRESS 0x38
#define BMP280_I2C_ADDRESS 0x76

// Create I2C instances
TwoWire I2C_AHT20 = TwoWire(0);
TwoWire I2C_BMP280 = TwoWire(1);

// Initialize the display
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire);

// Initialize sensors
Adafruit_AHTX0 aht;
Adafruit_BMP280 bmp;

void setup() {
  // Start serial communication
  Serial.begin(115200);

  // Initialize I2C buses
  I2C_AHT20.begin(AHT20_SDA, AHT20_SCL);
  I2C_BMP280.begin(BMP280_SDA, BMP280_SCL);

  // Initialize the OLED display
  if (!display.begin(SSD1306_I2C_ADDRESS, 0x3C)) {
    Serial.println("Failed to initialize SSD1315 display!");
    while (1);
  }
  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(0, 0);
  display.println("Initializing...");
  display.display();

  // Initialize AHT20 sensor
  if (!aht.begin(&I2C_AHT20)) {
    Serial.println("Failed to initialize AHT20 sensor!");
    display.clearDisplay();
    display.println("AHT20 Error");
    display.display();
    while (1);
  }

  // Initialize BMP280 sensor
  if (!bmp.begin(BMP280_I2C_ADDRESS, &I2C_BMP280)) {
    Serial.println("Failed to initialize BMP280 sensor!");
    display.clearDisplay();
    display.println("BMP280 Error");
    display.display();
    while (1);
  }

  // Display ready message
  display.clearDisplay();
  display.println("Weather Station Ready!");
  display.display();
  delay(2000);
}

void loop() {
  // Read data from AHT20 sensor
  sensors_event_t humidity, temp;
  aht.getEvent(&humidity, &temp);

  // Read data from BMP280 sensor
  float pressure = bmp.readPressure() / 100.0F; // Convert to hPa

  // Clear the display
  display.clearDisplay();

  // Display temperature
  display.setCursor(0, 0);
  display.print("Temp: ");
  display.print(temp.temperature);
  display.println(" C");

  // Display humidity
  display.print("Humidity: ");
  display.print(humidity.relative_humidity);
  display.println(" %");

  // Display pressure
  display.print("Pressure: ");
  display.print(pressure);
  display.println(" hPa");

  // Update the display
  display.display();

  // Print to Serial Monitor for debugging
  Serial.print("Temperature: ");
  Serial.print(temp.temperature);
  Serial.println(" C");
  Serial.print("Humidity: ");
  Serial.print(humidity.relative_humidity);
  Serial.println(" %");
  Serial.print("Pressure: ");
  Serial.print(pressure);
  Serial.println(" hPa");

  // Delay before next update
  delay(2000);
}

Si quelqu'un aurait l'aimabilité de le contrôler car je viens de me lancer dedans merci

:warning:
Post mis dans la mauvaise section, on parle anglais dans les forums généraux. déplacé vers le forum francophone.

Merci de prendre en compte les recommandations listées dans Les bonnes pratiques du Forum Francophone

Ton message est très peu lisible à cause du copier coller des liens.
Le 4 ieme icone(deux anneaux imbriqué) au dessus de ton message, te permet de fait un lien.
par exemple voici mon esp32-c3
De plus que se soit sur Amazon ou Aliexpress, l'url complète n'est pas nécessaire, tu peux te contenter du début : https://fr.aliexpress.com/item/1005007032546456.html

j'ai édité pour vous pour cette fois le premier message.

Merci de tenir compte des recommandations listées dans "Les bonnes pratiques du Forum Francophone” à l'avenir.

Pour le code, l'avez vous testé ?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.