Raspberry Pi Pico - Capteur d'humidité du sol

Dans ce guide, nous apprendrons à utiliser un capteur d'humidité avec le Raspberry Pi Pico. Nous discuterons de :

Capteur d'humidité du sol Raspberry Pi Pico

Préparation du matériel

1×Raspberry Pi Pico W
1×Raspberry Pi Pico Alternativement:
1×Câble Micro USB
1×Capteur d'humidité du sol capacitif
1×Fils de connexion
1×Recommandé: Carte d'extension à bornier à vis pour Raspberry Pi Pico

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

Note d'achat: De nombreux capteurs d'humidité du sol capacitifs sur le marché sont de faible qualité, quelle que soit la version. Nous recommandons vivement d'acheter le capteur avec puce TLC555I de la marque DIYables en utilisant le lien ci-dessus. Nous l'avons testé et il a bien fonctionné.

À propos du capteur d'humidité du sol

Capteur d'humidité capacitif vs capteur d'humidité résistif

Il existe deux types de capteurs d'humidité.

  • Capteur d'humidité capacitif
  • Capteur d'humidité résistif

Les deux capteurs fournissent des informations sur l'humidité du sol, mais ils fonctionnent différemment. Nous recommandons d'utiliser le capteur d'humidité capacitif pour cette raison :

  • Le capteur d'humidité du sol résistif se dégrade lentement. Cela se produit lorsqu'il y a un courant électrique qui circule entre ses sondes, provoquant des dommages connus sous le nom de corrosion électrochimique.
  • Le capteur capacitif d'humidité du sol ne se dégrade pas avec le temps. Cela est dû au fait que ses électrodes sont protégées et ne s’oxydent pas facilement.

L'image montre un capteur d'humidité du sol, fabriqué à partir d'un matériau qui s'use et rouille au fil du temps.

Capteur d'humidité du sol résistif corrodé

Le reste de ce tutoriel se concentrera sur la façon d'utiliser le capteur capacitif d'humidité du sol.

Schéma des broches du capteur d'humidité capacitif du sol

Un capteur d'humidité du sol capacitif possède trois broches :

  • Broche GND : connectez-la à la masse (0 V)
  • Broche VCC : connectez-la à la VCC (5 V ou 3,3 V)
  • Broche AOUT : envoie un signal qui varie en fonction de l'humidité du sol. Connectez-la à l'entrée analogique du Raspberry Pi Pico.
Schéma des broches du capteur d'humidité du sol capacitif

Comment cela fonctionne

Plus il y a d'eau dans le sol, plus la tension à la broche AOUT est basse.

Diagramme de câblage

Schéma de câblage du capteur d'humidité du sol Raspberry Pi Pico

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Code pour Raspberry Pi Pico

/* * Ce code Raspberry Pi Pico a été développé par newbiely.fr * Ce code Raspberry Pi Pico est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/raspberry-pico/raspberry-pi-pico-soil-moisture-sensor */ from machine import ADC, Pin import time AOUT_PIN = 26 # The Raspberry Pi Pico GP26 (ADC0) pin connected to the moisture sensor # Initialize the analog pin for reading moisture_sensor = ADC(Pin(AOUT_PIN)) # Infinite loop while True: value = moisture_sensor.read_u16() # Read the moisture level from the sensor value_12bit = value >> 4 # Convert 16-bit reading to 12-bit (real value from 12-bit ADC)by shifting right 4 bits print("Moisture: {}".format(value_12bit)) # Print the 12-bit moisture level to the serial monitor time.sleep(0.5) # Pause the loop for 500 milliseconds

Étapes rapides

Veuillez suivre ces instructions étape par étape :

  • Assurez-vous que l'IDE Thonny est installé sur votre ordinateur.
  • Assurez-vous que le firmware MicroPython est installé sur votre Raspberry Pico.
  • Si c'est la première fois que vous utilisez un Raspberry Pico, consultez le tutoriel Raspberry Pi Pico - Premiers pas. pour obtenir des instructions détaillées.
  • Connectez le Raspberry Pi Pico au capteur d'humidité du sol selon le schéma fourni.
  • Connectez le Raspberry Pi Pico à votre ordinateur à l'aide d'un câble USB.
  • Lancez l'IDE Thonny sur votre ordinateur.
  • Dans l'IDE Thonny, sélectionnez l'interpréteur MicroPython (Raspberry Pi Pico) en vous rendant à Outils Options.
  • Dans l'onglet Interpréteur, sélectionnez MicroPython (Raspberry Pi Pico) dans le menu déroulant.
  • Assurez-vous que le port correct est sélectionné. L'IDE Thonny détectera automatiquement le port, mais vous devrez peut-être le sélectionner manuellement (par exemple, COM3 sur Windows ou /dev/ttyACM0 sur Linux).
  • Copiez le code ci-dessus et collez-le dans l'éditeur de l'IDE Thonny.
  • Enregistrez le script sur votre Raspberry Pico en:
    • Cliquez sur le bouton Enregistrer, ou utilisez les touches Ctrl+S.
    • Dans la boîte de dialogue d'enregistrement, vous verrez deux sections: Cet ordinateur et Raspberry Pico. Sélectionnez Raspberry Pico.
    • Enregistrez le fichier sous main.py.
  • Cliquez sur le bouton vert Run (ou appuyez sur F5) pour exécuter le script. Le script s'exécutera.
  • Insérez le capteur dans le sol et arrosez-le, ou vous pouvez le plonger lentement dans un gobelet d'eau salée.
  • Consultez le message dans le Shell en bas de Thonny.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot Moisture: 2324 Moisture: 2324 Moisture: 2300 Moisture: 2264 Moisture: 2224 Moisture: 2188 Moisture: 2156 Moisture: 2120 Moisture: 2084 Moisture: 2052 Moisture: 2024 Moisture: 2000 Moisture: 1980 Moisture: 1968 Moisture: 1960 Moisture: 1956 Moisture: 1952
MicroPython (Raspberry Pi Pico) • Board CDC @ COM29 ≡

Si vous nommez votre script main.py et que vous le sauvegardez dans le répertoire racine du Raspberry Pi Pico, il s’exécutera automatiquement à chaque mise sous tension ou réinitialisation du Pico. Cela est utile pour les applications autonomes qui doivent démarrer immédiatement après la mise sous tension. Si vous nommez votre script sous un autre nom que main.py, vous devrez l’exécuter manuellement depuis le Shell de Thonnys.

※ Note:

  • Évitez d'utiliser uniquement de l'eau pour les tests car elle ne conduit pas l'électricité et cela ne modifiera pas les mesures du capteur.
  • Les valeurs du capteur ne tombent généralement pas à zéro. Par exemple, elles se situent souvent entre 2000 et 2400. Ces valeurs peuvent changer en fonction de la profondeur du capteur dans le sol ou dans l'eau, du type de sol ou d'eau et de la tension de l'alimentation.
  • Gardez la partie supérieure du capteur, qui contient le circuit, hors du sol ou de l'eau afin d'éviter d'endommager le capteur.

Étalonnage du capteur capacitif d'humidité du sol

La mesure fournie par le capteur d'humidité varie selon le type de sol et sa teneur en eau. Pour l'utiliser correctement, nous devons l'ajuster afin de déterminer un seuil qui indique si le sol est humide ou sec.

Comment effectuer l’étalonnage :
  1. Exécutez le code donné sur le Raspberry Pi Pico.
  2. Placez le capteur d'humidité dans le sol.
  3. Versez lentement de l'eau dans le sol.
  4. Surveillez la Shell située en bas de Thonny.
  5. Notez la valeur lorsque le sol passe de sec à mouillé. Cette valeur s'appelle SEUIL.

Déterminez si le sol est humide ou sec

Après avoir calibré, mettez à jour la valeur du seuil que vous avez enregistrée avec ce nouveau code. Ce code détermine si le sol est humide ou sec.

/* * Ce code Raspberry Pi Pico a été développé par newbiely.fr * Ce code Raspberry Pi Pico est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/raspberry-pico/raspberry-pi-pico-soil-moisture-sensor */ from machine import ADC, Pin import time AOUT_PIN = 26 # The Raspberry Pi Pico GP26 (ADC0) pin connected to the moisture sensor THRESHOLD = 2120 # Set threshold value for moisture level # Initialize the analog pin for reading moisture_sensor = ADC(Pin(AOUT_PIN)) # Infinite loop while True: value = moisture_sensor.read_u16() # Read the moisture level from the sensor value_12bit = value >> 4 # Convert 16-bit reading to 12-bit by shifting right 4 bits if value_12bit > THRESHOLD: # Compare sensor reading to threshold print("The soil is DRY ({})".format(value_12bit)) # Print dry status if above threshold else: print("The soil is WET ({})".format(value_12bit)) # Print wet status if below threshold time.sleep(0.5) # Wait for half a second before next read

Le résultat affiché dans le Shell en bas de Thonny.

Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot The soil is DRY (2324) The soil is DRY (2300) The soil is DRY (2264) The soil is DRY (2188) The soil is DRY (2156) The soil is WET (2084) The soil is WET (2052) The soil is WET (1968) The soil is WET (1952)
MicroPython (Raspberry Pi Pico) • Board CDC @ COM29 ≡

Vidéo

Tutoriels connexes

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !