5.9 Système de surveillance du niveau d’eau

5.9.1 Capteur de niveau d’eau

Le capteur de niveau d’eau intègre une série de lignes parallèles exposées pour mesurer le volume d’eau et les gouttelettes.

cou91

Attention : À l’exception de la zone de détection, le capteur n’est pas étanche. Le fait de renverser de l’eau sur d’autres zones peut entraîner un court-circuit.

Ouvrez le code 5.9.1Water-Level-Sensor avec Arduino IDE.

#define WaterLevelPin 33

void setup() {

  Serial.begin(9600);
  pinMode(WaterLevelPin,INPUT);
}

void loop() {
  int ReadValue = analogRead(WaterLevelPin);
  Serial.println(ReadValue);
  delay(500);
}

Choisissez la carte ESP32 Dev Module et le port COM, puis téléchargez le code.

5458448

Résultat du test :

Ouvrez le moniteur série. Touchez la zone de détection du capteur avec un doigt mouillé et la valeur actuellement détectée sera affichée sur le moniteur (plage : 0~4095).

image-20250417150303854

5.9.2 Système de surveillance du niveau d’eau

Ouvrez le code 5.9.2Water-Level-Testing-System avec Arduino IDE

#include <LiquidCrystal_I2C.h>

#define BuzzerPin 16
#define WaterLevelPin 33

LiquidCrystal_I2C lcd(0x27,16,2);

void setup() {

  //Initialize the serial port
  Serial.begin(9600);
  //Set the water level pin to input mode
  pinMode(WaterLevelPin,INPUT);

  //Initialize LCD
  lcd.init();
  //turn on the LCD backlight
  lcd.backlight();
  //clear displays on LCD
  lcd.clear();

  ledcAttachChannel(BuzzerPin,1000,8,4);
}

void loop() {
  //Read the value of water level sensor
  int ReadValue = analogRead(WaterLevelPin);
  //Set the display position of cursor
  lcd.setCursor(0, 0);
  //Set the display position of characters
  lcd.print("WaterLevel:");
  lcd.setCursor(6, 1);
  lcd.print(ReadValue);
  
  //When the detected value exceeds the threshold, the buzzer starts to alarm
  if(ReadValue >= 2000)
  {
    ledcWriteTone(BuzzerPin,659);
    delay(100);
    ledcWriteTone(BuzzerPin,532);
    delay(100);
    ledcWriteTone(BuzzerPin,659);
    delay(100);
    ledcWriteTone(BuzzerPin,0);  //Stop alarming
  }
  delay(500);
  lcd.clear();
}

Choisissez la carte ESP32 Dev Module et le port COM, puis téléchargez le code.

5458448

Résultat du test :

L’écran LCD affiche la valeur en temps réel du niveau d’eau. Lorsque le capteur de niveau d’eau détecte que le niveau d’eau est inférieur à 200, le buzzer commence à sonner.

flo9