Mise e, oeuvre d’un sonde de détection de liquide avec le raspberry pi 3

Introduction

Présentation

Ce tutorial va présenter une utilisation basique du capteur de liquide ADAFRUIT Optomax Digital Liquid
Level Sensor, détectant la présence de liquide, couplé avec un raspberry PI. Nous allons utiliser une led pour
vérifier la présence de liquide. Le raspberry sera chargé d’analyser les données de la sonde et d’alumer ou éteindre
la led. Pour effectuer la liaison entre le gpio, la led et la sonde, une planche à pain sera utilisée.

 

Applications possibles

Voici une liste non exhaustive des applications possibles : remplissage automatique de réservoir, arrêt d’une
fontaine en cas de manque d’eau, arrêt de circuit électrique en cas d’innondation, arrosage automatique de
plantes ...

 

Caractéristiques

Caractéritiques physiques de la sonde

  • Voltage alimentation (Vdc) : 4.5 à 15.4
  • Courant alimentation (mA) : 2.5 max
  • Courant sortie (mA) : 100
  • Température opérationnelle (C) : -25 à +80
  • Température de stockage (C) : -30 à +85
  • Diamètre de la sonde (mm) : 10.4
  • Diamètre du support de fixation (mm) : 12
  • Largeur du support de fixation (mm) : 7.75

Connectiques

  • Sonde Voltage: fils rouge
  • Sonde terre : fils bleu
  • Sonde sortie : fils vert
  • GPIO Voltage : 2,4
  • GPIO terre : 6,9,14,20,25,30,34,39
  • GPIO commande : 29,31,32,33,35,36,37,38,40
  • Led voltage (V) : 5
  • Led intensité (mA) : 30

 

Installation

Système d'exploitation

Avant d’installer le système, vous devez avoir une raspbian d’installée, ce tutorial ne traitant pas l’installation
du système d’exploitation, veuillez vous référer à celui-ci :
https ://raspbian-france.fr/installer-raspbian-premier-demarrage-configuration

Connectiques

Application

Fonctionnalités

Algorithmes

L’algorithme suivant explique le cheminement de l’application. Des fonctionnalités annexes sont indiquées
uniquement pour information, comme le démarrage et l’arrêt du raspberry.

 

Code

Pour des raisons de facilité, le code sera réalisé en python.

Commandes du gpio

Importer la librairie GPIO:

import RPi.GPIO as GPIO

 

Réglage du gpio

# Permet d'identifier les broches avec leur numero
GPIO.setmode(GPIO.BOARD)

# Recuperer le mode courant
GPIO.getmode()

Broches du gpio

# Initialise la broche 12 en entree
GPIO.setup(12, GPIO.IN)

# Initialise la broche 12 en sortie
GPIO.setup(12, GPIO.OUT)

# initialise la broche 12 en sortie et lui donne une valeur par defaut
GPIO.setup(12, GPIO.OUT, initial=GPIO.HIGH)

 

Entrées / sorties du gpio

# Lire l'entree de la broche 12
GPIO.input(12)

# Ecrire en sortie de la broche 12
GPIO.output(12, GPIO.LOW)

# Inverser la sortie de la broche 12
GPIO.output(12, not GPIO.input(12))

 

Nettoyage du gpio

GPIO.cleanup()

 

Code de l'application

import RPi.GPIO as GPIO

# Constantes de l'application
PIN_SONDE = 29
PIN_LED = 36
LIQUID_STATE = GPIO.LOW

# Initialise le gpio
def init():
GPIO.setmode(GPIO.BOARD)
GPIO.setup(PIN_SONDE, GPIO.IN)
GPIO.setup(PIN_LED, GPIO.OUT, initial=GPIO.LOW)

# Lire et retourner la valeur de la commande de la sonde
def detection():
return GPIO.input(PIN_SONDE)

# Modifie l'etat de la led
def switch_led():
GPIO.output(PIN_LED, not GPIO.input(PIN_LED))

# Point d'entree de l'application
def main():
try:
# Initialiser le systeme
init()

while True:
# Tester la presence d'un liquide
if LIQUID_STATE != detection():
switch_led()
except:
GPIO.cleanup()
sys.exit(1)
return

# Execution du main
if __name__ == "__main__":
main()

 

Tests

n’ayant pu tester le raspberry, je ne sais pas si mon tutorial fonctionne.

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *