Python et Raspberry PI - 01/07/2023

Informations :

  • Orateurs : 1
  • Nombre de participants : 5

Compte-rendu :

Au cours de cette séance, nous avons utilisé un capteur de température que nous avons branché sur un Raspberry PI. Ce capteur de température est un "DS18B20" du constructeur Dallas Semiconducteur.
Ce capteur a une particularité : il dialogue avec un bus de communication sur un seul fil, il utilise le protocole "1-Wire" qui permet de relier plusieurs capteurs sur un bus en minimisant les connexions filaires.
Pour simplifier l'utilisation de ce capteur, une bibliothèque de fonctions est fournie pour l'utiliser en Python.

Les étapes sont les suivantes :

  • Installation de la bibliothèque (dans un terminal de commande) : pip install w1thermsensor
  • Activation de l'utilisation du bus 1-Wire sur le Raspberry PI : dans le menu "Preferences > Raspberry PI Configuration > Interfaces".
  • Relancer le Raspberry PI une fois le bus 1-Wire activé.
  • Connecter le capteur (avec une résistance de "Pull-up" (entre le signal et le +).

Raspi VCC (3V3) Pin 1 ----------------------------- VCC (rouge)  DS18B20
                                               |
                                               R1 = 4k7 ...10k
                                               |
Raspi GPIO 4    Pin 7 ----------------------------- Data (jaune) DS18B20

Raspi GND       Pin 6 ----------------------------- GND  (noir)  DS18B20
                    

Nous passons ensuite à la programmation, le code ci-dessous permet de lire en continu la température et l'affiche. Le code affiche un message "Alerte" lorsque la température dépasse 25°C (température choisie) :


# Programme qui permet de lire la température en continu et l'affiche

# Librairie de fonctions de gestion de temps
import time

# Librairie de fonctions de gestion du capteur DS18B20
from w1thermsensor import W1ThermSensor

# Création du capteur de température
sensor = W1ThermSensor()

# Boucle infinie
while True:
    # Récupération de la température
    temperature = sensor.get_temperature()

    # Affichage de la température
    print(temperature)

    # Si la température est supérieure à 25°C
    if temperature > 25.0:
        # On affiche un message d'alerte
        print("Alerte")

    # On attend 1 seconde avant de continuer la boucle
    time.sleep(1)
                    

Les liens en rapport avec cette séance sont les suivants :

Prochaines séances :

  • 08/07/2023 (10H00..12H00) : [Débutant] Python et Rapspberry PI
  • 08/07/2023 (18H00..20H00) : [Open Hours] On discute, on explique, on répare !
  • 15/07/2023 (10H00..12H00) : [Débutant] Vacances ?
  • 15/07/2023 (18H00..20H00) : [Open Hours] Vacances ?