#include <DHT.h>
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <Wire.h>
#define DHTPIN 2 // Pin where your DHT sensor is connected.
#define DHTTYPE 22
DHT dht(DHTPIN, DHTTYPE);
Adafruit_MPU6050 mpu;
void setup(void) {
// Initialisation
dht.begin();
Serial.begin(9600);
// Initialisation
if (!mpu.begin()) {
Serial.println("Failed to find MPU6050 chip");
while (1) {
delay(10);
}
}
mpu.setAccelerometerRange(MPU6050_RANGE_16_G);
mpu.setGyroRange(MPU6050_RANGE_250_DEG);
mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
delay(100);
}
void loop() {
/*-------------DHT22------------*/
// Lecture des données du capteur
float hum = dht.readHumidity();
float temp = dht.readTemperature();
if (isnan(temp) || isnan(hum)) {
Serial.println("Échec de la lecture des données du capteur DHT !");
Serial.println("Erreur du capteur");
return;
}
Serial.println("Temperature DHT: ");
Serial.print(temp, 2); // Display temperature with one decimal place
Serial.print(" °C");
Serial.println(" ");
Serial.println("Humidité: ");
Serial.print(hum, 2); // Display humidity with one decimal place
Serial.print(" %");
Serial.println(" ");
if (temp <= 0) {
Serial.println("Temperature: Geler");
} else if (temp <= 20) {
Serial.println("Temperature: Très froid");
} else if (temp <= 37) {
Serial.println("Temperature: Normal");
} else if (temp <= 40) {
Serial.println("Temperature: Chaud");
} else {
Serial.println("Temperature: Très chaud");
}
if (hum <= 20) {
Serial.println("Humidité: Sec");
} else if (hum <= 40) {
Serial.println("Humidité: Normal");
} else if (hum <= 60) {
Serial.println("Humidité: Confort");
} else {
Serial.println("Humidité: Humide");
}
delay(500); // Adjust the delay based on your preference
Serial.println(" ");
/*-----------------MPU-------------*/
sensors_event_t a, g, tempmpu;
mpu.getEvent(&a, &g, &tempmpu);
Serial.println("Temperature MPU: ");
Serial.print(tempmpu.temperature);
Serial.println(" degC");
Serial.print("Acceleration X: ");
Serial.print(a.acceleration.x);
Serial.print(", Y: ");
Serial.print(a.acceleration.y);
Serial.print(", Z: ");
Serial.print(a.acceleration.z);
Serial.println(" m/s2");
Serial.print("Rotation X: ");
Serial.print(g.gyro.x);
Serial.print(", Y: ");
Serial.print(g.gyro.y);
Serial.print(", Z : ");
Serial.print(g.gyro.z);
Serial.println(" rad/s \n");
delay(500);
}