Soil Moisture Sensor Hygrometer Module V1.2 capacitive for Arduino Microcontroller - AZ-Delivery

Nous sommes le 17 décembre et les nains de Noël d'AZ-Delivery ont préparé de nombreuses petites et grandes surprises derrière les portes. Derrière la porte numéro dix-sept se trouve aujourd'hui encore un petit quelque chose qui peut aider à arroser les fleurs, surtout en hiver. Un poinsettia, en particulier, n'a besoin d'eau que lorsque le sol est légèrement sec, sinon il se décompose rapidement. Avec ce peu de connaissances en matière de jardinage, il continue aussi de manière directe.

Qu'y a-t-il derrière la petite porte ?

Derrière la porte se trouve le capteur d'humidité du sol Hygrometer Module V1.2 capacitive (voir figure 1).

 

Figure 1 : Capteur d'humidité du sol Module hygrométrique V1.2 capacitif

En comparaison directe avec les modules d'hygrométrie du capteur d'humidité du sol (voir la figure 2) la taille et le type de connexion sont visiblement différents.

 

Figure 2 : Comparaison des capteurs d'humidité du sol

Mais non seulement la taille et la connexion diffèrent, mais aussi la façon dont les capteurs communiquent avec les microcontrôleurs. Le module d'hygrométrie du capteur d'humidité du sol V1.2 capacitif renvoie uniquement un signal analogique, tandis que le module d'hygrométrie du capteur d'humidité du sol renvoie un signal analogique et numérique. Dans la plupart des cas, cependant, seul le signal analogique présente un intérêt. Comme les contacts du module hygrométrique du capteur d'humidité du sol sont librement accessibles, il peut arriver rapidement que les contacts se corrodent. Avec le module d'hygrométrie V1.2 capacitif du capteur d'humidité du sol, comme son nom l'indique déjà, l'humidité du sol est mesurée de manière capacitive.

La préparation

Pour que nous puissions utiliser le module d'hygrométrie V1.2 capacitif du capteur d'humidité du sol, il faut encore un microcontrôleur correspondant. Pour la petite expérience présentée ici, le Nano V3.0 avec Atmega328 CH340 est parfaitement suffisant. Important : le module d'hygrométrie V1.2 capacitif du capteur d'humidité du sol nécessite une alimentation de 5V et fournit un signal analogique entre 0-5V ! Si vous utilisez par exemple un ESP32, vous devez construire un diviseur de tension devant l'entrée analogique, sinon vous pouvez détruire votre microcontrôleur.

Pour l'affichage, vous avez toujours besoin d'un écran LCD 16x2 avec une connexion I2C.

Surveiller l'humidité du sol

Comme petit exemple rapide, le capteur doit sortir le signal analogique sur un écran LCD 16x2 avec un adaptateur I2C. L'installation et le code source se font assez rapidement.

Le câblage est indiqué dans le tableau 1.

 

Code PIN

MicroController (Nano V3.0)

Capteur d'humidité du sol

Afficher

GND

GND

GND

GND

5V

5V

VCC

VCC

Signal analogique

A0

AOUT

 

SDA

A4

 

SDA

SCL

A5

 

SCL

Tableau 1 : Connexion au microcontrôleur

Le code source est aussi simple que rapide (voir Code 1).

//-----------------------------------------------------
// Échantillon de capteur d'humidité du sol
// Auteur: Joern Weise
// Licence: GNU GPl 3.0
// Créé: 10 déc.2020
// Mise à jour: 10 décembre 2020
//-----------------------------------------------------
#include
#include

#define UPDATETIME 5000
#define NEEDTOWATERING 700
LCD LiquidCrystal_I2C (0x27,16,2); // définit l'adresse LCD sur 0x27 pour un affichage de 16 caractères et 2 lignes
unsigned long iLastUpate = 0;
int iLastAnalogRead = 0;
// la routine de configuration s'exécute une fois lorsque vous appuyez sur reset:

void setup () {
// initialise la communication série à 9600 bits par seconde:
Serial.begin (115200);
Serial.println ("Démarrage de l'installation");
Serial.println ("Affichage initial");
lcd.init (); // initialise le lcd
Serial.println ("Rétroéclairage activé");
LCD rétro-éclairage (); // rétro-éclairage activé
Serial.println ("Ecrire du texte");
lcd.home (); // positionne le curseur sur 0,0

// Ecrire du texte
lcd.print ("Humidité du sol");
lcd.setCursor (0, 1);
lcd.print ("moniteur de capteur");
Serial.println ("Configuration terminée");
retard (5000);
  }

// la routine de boucle s'exécute encore et encore pour toujours:
boucle void () {

if (millis () - iLastUpate> UPDATETIME) {
int sensorValue = analogRead (A0);
if (iLastAnalogRead! = sensorValue) {
lcd.clear ();
lcd.home ();
lcd.print ("Value:" + String (sensorValue));
lcd.setCursor (0, 1);
if (sensorValue> = NEEDTOWATERING)
lcd.print ("Besoin d'un peu d'eau");
autre
lcd.print ("Pas d'eau nécessaire");
Serial.println ("Nouvelle valeur:" + String (sensorValue));
iLastAnalogRead = sensorValue;
    }
iLastUpate = millis ();
  }
}

code 1: Code surveiller l'humidité du sol

 

Ainsi, vous pouvez toujours voir quand vous devez arroser votre poinsettia ou autre plante (voir la figure 3) mais n'oubliez pas de définir le BESOIN D'EAU pour que vos plantes ne meurent pas de soif !

 

 Illustration 3: Circuit terminé

Plus de projets pour AZ-Delivery de ma part, vous pouvez trouver sous

https://github.com/M3taKn1ght/Blog-Repo.

 

Specials

1 commentaire

Horst Schwemmer

Horst Schwemmer

kann ich das Hygrometer Modul V1.2 auch über den bereits vorhandenen MCP3800 an einem Raspberry 3 betreiben?
Danke schon mal im Voraus
Horst Schwemmer

Laisser un commentaire

Tous les commentaires sont modérés avant d'être publiés

Articles de blog recommandés

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery