#include <Wire.
h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP085_U.h>
#include <DHT.h>
#include <LiquidCrystal.h>
#include <Servo.h>
// Définition des broches
#define DHTPIN 2 // Broche du DHT11
#define DHTTYPE DHT11 // Type de DHT
#define TRIG_PIN 3 // Broche du capteur HC-SR04
#define ECHO_PIN 4 // Broche du capteur HC-SR04
#define SERVO_PIN 5 // Broche du servo
LiquidCrystal lcd(7, 8, 9, 10, 11, 12); // Pins pour le LCD
DHT dht(DHTPIN, DHTTYPE);
Adafruit_BMP085_Unified bmp = Adafruit_BMP085_Unified();
Servo myServo;
void setup() {
[Link](9600);
// Initialisation du BMP180
if (![Link]()) {
[Link]("Erreur de connexion du BMP180");
while (1) {}
}
// Initialisation du DHT11
[Link]();
// Initialisation du servo
[Link](SERVO_PIN);
// Initialisation du LCD
[Link](16, 2);
[Link]("Systeme prêt");
delay(2000);
[Link]();
}
void loop() {
// Lecture des capteurs
sensors_event_t event;
[Link](&event);
float temperature = [Link]();
// Mesure de la distance avec le capteur ultrasonique
long duration;
float distance;
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
duration = pulseIn(ECHO_PIN, HIGH);
distance = (duration / 2) * 0.0343; // Distance en cm
// Afficher la température et la pression
[Link](0, 0);
[Link]("Temp: ");
[Link](temperature);
[Link]("C");
if ([Link]) {
[Link](0, 1);
[Link]("Press: ");
[Link]([Link]);
[Link]("hPa");
}
// Vérifier le niveau d'eau
if (distance <= 5.0) {
// Ouvrir l'électrovanne
[Link](90); // Position pour ouvrir l'électrovanne
delay(200); // Maintenir ouvert pendant 200ms
[Link](0); // Fermer l'électrovanne
}
delay(1000); // Delay entre les lectures
}