#include <Wire.h> // Pour l'I2C (MPU6050)
#include <Adafruit_Sensor.h> // Bibliothèque générale pour les capteurs
#include <Adafruit_MPU6050.h> // Bibliothèque pour le MPU6050
#include <Adafruit_BME280.h> // Bibliothèque pour le BME280
#include <SPI.h> // Pour le SPI (BME280)
// Définir les broches pour le BME280 (SPI)
#define BME280_CS_PIN 10 // Broche CS pour le BME280
// Initialisation des capteurs
Adafruit_MPU6050 mpu;
Adafruit_BME280 bme;
void setup() {
Serial.begin(9600);
Wire.begin(); // Initialisation de l'I2C
// Initialisation du MPU6050
if (!mpu.begin()) {
Serial.println("Erreur : MPU6050 introuvable !");
while (1);
}
Serial.println("MPU6050 initialisé avec succès !");
// Initialisation du BME280 en mode SPI
if (!bme.begin(BME280_CS_PIN, &SPI)) {
Serial.println("Erreur : BME280 introuvable !");
while (1);
}
Serial.println("BME280 initialisé avec succès !");
}
void loop() {
// Lecture des données du MPU6050
sensors_event_t a, g, temp;
mpu.getEvent(&a, &g, &temp);
Serial.println("=== MPU6050 Lecture ===");
Serial.print("Accélération X: ");
Serial.print(a.acceleration.x);
Serial.println(" m/s^2");
Serial.print("Accélération Y: ");
Serial.print(a.acceleration.y);
Serial.println(" m/s^2");
Serial.print("Accélération Z: ");
Serial.print(a.acceleration.z);
Serial.println(" m/s^2");
Serial.print("Température MPU6050: ");
Serial.print(temp.temperature);
Serial.println(" °C");
// Lecture des données du BME280
Serial.println("=== BME280 Lecture ===");
Serial.print("Température: ");
Serial.print(bme.readTemperature());
Serial.println(" °C");
Serial.print("Humidité: ");
Serial.print(bme.readHumidity());
Serial.println(" %");
Serial.print("Pression: ");
Serial.print(bme.readPressure() / 100.0F);
Serial.println(" hPa");
Serial.println("----------------------------");
delay(2000); // Pause de 2 secondes
}