Raspberry Pi - Système de chauffage

Ce tutoriel vous explique comment utiliser un Raspberry Pi, un élément chauffant et un capteur de température DS18B20 pour réguler la température de la pièce.

En outre, le code peut être adapté pour d'autres capteurs de température tels que le DHT11 ou le DHT22, le LM35 à la place du capteur DS18B20.

Préparation du matériel

1×Raspberry Pi 4 Model B
1×DS18B20 Temperature Sensor (WITH Adapter)
1×DS18B20 Temperature Sensor (WITHOUT Adapter)
1×4.7 kΩ resistor
1×Relay
1×Heating Element
1×12V Power Adapter
1×DC Power Jack
1×Jumper Wires
1×(Optional) Screw Terminal Block Shield for Raspberry Pi
1×(Optional) USB-C Power Cable with On/Off Switch for Raspberry Pi 4B
1×(Optional) Plastic Case and Cooling Fan for Raspberry Pi 4B
1×(Optional) HDMI Touch Screen Monitor for Raspberry Pi

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
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.

À propos de l'élément chauffant et du capteur de température DS18B20

L'élément chauffant utilisé dans ce tutoriel nécessite une alimentation 12 V. Lorsque l'alimentation est fournie à l'élément chauffant, il génère de la chaleur. Pour pouvoir contrôler l'élément chauffant avec un Raspberry Pi, il est nécessaire d'insérer un relais entre eux.

Si vous ne connaissez pas les capteurs de température et les éléments chauffants (brochages, fonctionnement, programmation, etc.), les tutoriels suivants peuvent vous aider :

Diagramme de câblage

Schéma de câblage du système de chauffage Raspberry Pi

This image is created using Fritzing. Click to enlarge image

Pour simplifier et organiser votre câblage, nous vous recommandons d'utiliser un Screw Terminal Block Shield pour Raspberry Pi. Ce shield garantit des connexions plus sûres et plus faciles à gérer, comme illustré ci-dessous :

Raspberry Pi Screw Terminal Block Shield

Comment le système fonctionne

  • Raspberry Pi obtient la température du capteur de température.
  • Si la température descend en dessous d'une certaine limite inférieure, le Raspberry Pi active les éléments chauffants.
  • Lorsque la température dépasse une certaine limite supérieure, le Raspberry Pi désactive l'élément chauffant.

La boucle se répète sans fin.

Code Raspberry Pi pour système de refroidissement avec capteur DS18B20

Dans le code ci-dessus, lorsque la température descend en dessous de 15°C, le Raspberry Pi activera l'élément chauffant. Il restera actif jusqu'à ce que la température dépasse 20°C.

Étapes rapides

  • Assurez-vous d'avoir Raspbian ou tout autre système d'exploitation compatible Raspberry Pi installé sur votre Pi.
  • Assurez-vous que votre Raspberry Pi est connecté au même réseau local que votre PC.
  • Assurez-vous que votre Raspberry Pi est connecté à Internet si vous devez installer certaines bibliothèques.
  • Si c'est la première fois que vous utilisez Raspberry Pi, consultez Installation du logiciel - Raspberry Pi..
  • Connectez votre PC au Raspberry Pi via SSH en utilisant le client SSH intégré sur Linux et macOS ou PuTTY sur Windows. Consultez comment connecter votre PC au Raspberry Pi via SSH.
  • Assurez-vous d'avoir la bibliothèque RPi.GPIO installée. Sinon, installez-la en utilisant la commande suivante :
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Avant d'utiliser le capteur de température DS18B20 avec un Raspberry Pi, nous devons activer l'interface 1-Wire sur le Raspberry Pi. Voir Comment activer l'interface 1-Wire sur Raspberry Pi
  • Installez la bibliothèque pour le capteur de température DS18B20 en exécutant la commande suivante :
pip install w1thermsensor
  • Créez un fichier de script Python heating.py et ajoutez le code suivant :
# Ce code Raspberry Pi a été développé par newbiely.fr # Ce code Raspberry Pi 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-pi/raspberry-pi-heating-system from w1thermsensor import W1ThermSensor import RPi.GPIO as GPIO import time # Constants THRESHOLD_OFF = 20 # Upper threshold of temperature, change to your desired value THRESHOLD_ON = 15 # Lower threshold of temperature, change to your desired value RELAY_PIN = 21 # GPIO pin connected to the relay module, change to your desired GPIO pin # Setup GPIO.setmode(GPIO.BCM) GPIO.setup(RELAY_PIN, GPIO.OUT) def find_ds18b20_sensor(): for sensor in W1ThermSensor.get_available_sensors(): if sensor.type == W1ThermSensor.THERM_SENSOR_DS18B20: return sensor return None def read_temperature(sensor): try: temperature_celsius = sensor.get_temperature() return temperature_celsius except Exception as e: print(f"Error reading temperature: {e}") return None # Find DS18B20 sensor ds18b20_sensor = find_ds18b20_sensor() if ds18b20_sensor is not None: print(f"DS18B20 Sensor found: {ds18b20_sensor.id}") try: while True: temperature = read_temperature(ds18b20_sensor) if temperature is not None: if temperature > THRESHOLD_OFF: print("The heating element is turned off") GPIO.output(RELAY_PIN, GPIO.LOW) # turn off elif temperature < THRESHOLD_ON: print("The heating element is turned on") GPIO.output(RELAY_PIN, GPIO.HIGH) # turn on time.sleep(0.5) except KeyboardInterrupt: pass finally: GPIO.cleanup() else: print("DS18B20 Sensor not found.")
  • Enregistrez le fichier et exécutez le script Python en exécutant la commande suivante dans le terminal :
python3 heating.py

Le script s'exécute en boucle infinie jusqu'à ce que vous appuyiez sur Ctrl + C dans le terminal.

  • Changez la température de la zone entourant le capteur.
  • Vérifiez la température de l'élément chauffant et de la pièce.

Connaissances Avancées

La technique ci-dessus pour contrôler est le régulateur tout ou rien, également appelé signaliseur ou régulateur "bang-bang". Cette méthode est assez facile à mettre en pratique.

Une approche alternative connue sous le nom de régulateur PID existe. Cette méthode de régulation de la température est plus stable, cependant elle est compliquée et peu utilisée. Par conséquent, le régulateur PID n'est pas un choix populaire pour la régulation de la température.

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!