Raspberry Pi - Bouton - Pompe
Ce tutoriel vous explique comment utiliser un Raspberry Pi pour allumer une pompe pendant quelques secondes lorsqu'un bouton est pressé, puis l'éteindre.
Préparation du matériel
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.
Diagramme de câblage
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 :
Code Raspberry Pi
É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 des 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. Voir 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
- Créez un fichier script Python button_pump.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-button-pump
import RPi.GPIO as GPIO
import time
BUTTON_PIN = 18 # GPIO pin connected to the button
RELAY_PIN = 16 # GPIO pin controls the pump via the relay module
# Set up the GPIO pins
GPIO.setmode(GPIO.BCM)
GPIO.setup(BUTTON_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(RELAY_PIN, GPIO.OUT)
prev_button_state = GPIO.HIGH # HIGH means the button is not pressed initially
try:
# Lock the door initially
GPIO.output(RELAY_PIN, GPIO.HIGH)
while True:
button_state = GPIO.input(BUTTON_PIN)
if button_state == GPIO.LOW and prev_button_state == GPIO.HIGH:
# Button is pressed (LOW means pressed due to pull-up resistor)
print("The button is pressed")
GPIO.output(RELAY_PIN, GPIO.HIGH) # turn pump on
print("The door is unlocked")
time.sleep(5) # Wait for 5 seconds
GPIO.output(RELAY_PIN, GPIO.LOW) # turn pump off
print("The door is locked again")
# Update the previous button state
prev_button_state = button_state
except KeyboardInterrupt:
print("Exiting...")
GPIO.cleanup()
- Enregistrez le fichier et exécutez le script Python en entrant la commande suivante dans le terminal :
python3 button_pump.py
- Appuyez sur le bouton
- Vérifiez l'état de la pompe
Le script s'exécute en boucle infinie continuellement jusqu'à ce que vous appuyiez sur Ctrl + C dans le terminal.
Explication du code
Consultez l'explication ligne par ligne contenue dans les commentaires du code source !