Raspberry Pi - Capteur tactile - Relais

Ce tutoriel vous apprend comment utiliser le Raspberry Pi et un capteur tactile pour contrôler le relais. En connectant le relais à une serrure à solénoïde, une ampoule, une bande LED, un moteur ou un actionneur..., nous pouvons utiliser un capteur tactile pour les contrôler. Nous apprendrons deux applications différentes :

Application 1 - L'état du relais est synchronisé avec l'état du capteur tactile. En détail :

Application 2 - L'état du relais est basculé chaque fois que le capteur tactile est touché. Plus précisément :

Préparation du matériel

1×Raspberry Pi 4 Model B
1×Touch Sensor
1×Relay
1×Breadboard
1×Jumper Wires
1×(Optional) Solenoid Lock
1×(Optional) 12V Power Adapter
1×(Optional) DC Power Jack
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 Relais et Capteur Tactile

Si vous n'êtes pas familier avec le relais et le capteur tactile (y compris le brochage, le fonctionnement et la programmation), les tutoriels suivants peuvent vous aider :

Diagramme de câblage

Diagramme de câblage du relais du capteur tactile 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

Application 1 - L'état du relais est synchronisé avec l'état du capteur tactile

Étapes rapides

  • Assurez-vous d'avoir Raspbian ou tout autre système d'exploitation compatible avec 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 avez besoin d'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 que vous avez 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 de script Python touch_sensor_relay.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-touch-sensor-relay import RPi.GPIO as GPIO # Set the GPIO mode (BCM or BOARD) GPIO.setmode(GPIO.BCM) # Define the GPIO pin number to which the relay is connected RELAY_PIN = 20 # Define the GPIO pin number to which the touch sensor is connected TOUCH_SENSOR_PIN = 18 # Set up the GPIO pins GPIO.setup(TOUCH_SENSOR_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Input with pull-up resistor GPIO.setup(RELAY_PIN, GPIO.OUT) # Output try: while True: touch_state = GPIO.input(TOUCH_SENSOR_PIN) if touch_state == GPIO.HIGH: print("The sensor is touched") GPIO.output(RELAY_PIN, GPIO.HIGH) # Turn the relay on else: print("The sensor is not touched") GPIO.output(RELAY_PIN, GPIO.LOW) # Turn the relay off except KeyboardInterrupt: GPIO.output(RELAY_PIN, GPIO.LOW) # Turn off the relay GPIO.cleanup()
  • Enregistrez le fichier et exécutez le script Python en saisissant la commande suivante dans le terminal :
python3 touch_sensor_relay.py
  • Touchez le capteur tactile avec votre doigt et maintenez-le pendant quelques secondes, puis relâchez-le.
  • Vérifiez le changement de l'état du relais. Vous verrez que l'état du relais est synchronisé avec l'état du capteur tactile.

Le script s'exécute en boucle infinie 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 !

Application 2 - Le capteur tactile bascule le relais

Étapes rapides

  • Créer un fichier de script Python touch_sensor_toggle_relay.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-touch-sensor-relay import RPi.GPIO as GPIO import time # Constants won't change TOUCH_SENSOR_PIN = 16 # The number of the touch sensor pin RELAY_PIN = 18 # The number of the relay pin # Variables will change relay_state = GPIO.LOW # The current state of the relay prev_touch_state = GPIO.LOW # The previous state of the touch sensor touch_state = GPIO.LOW # The current state of the touch sensor # Set up GPIO GPIO.setmode(GPIO.BCM) # Use BCM GPIO numbering GPIO.setup(RELAY_PIN, GPIO.OUT) # Initialize the relay pin as an output GPIO.setup(TOUCH_SENSOR_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Initialize the touch sensor pin as a pull-up input try: while True: # Read the state of the touch sensor value prev_touch_state = touch_state # Save the last state touch_state = GPIO.input(TOUCH_SENSOR_PIN) # Read new state if prev_touch_state == GPIO.LOW and touch_state == GPIO.HIGH: time.sleep(0.1) # 100 milliseconds debounce time print("The sensor is touched") # Toggle the state of the relay if relay_state == GPIO.LOW: relay_state = GPIO.HIGH else: relay_state = GPIO.LOW # Control relay according to the toggled state GPIO.output(RELAY_PIN, relay_state) except KeyboardInterrupt: # Clean up GPIO on program exit GPIO.cleanup()
  • Enregistrez le fichier et exécutez le script Python en entrant la commande suivante dans le terminal :
python3 touch_sensor_toggle_relay.py
  • Touchez et relâchez le capteur tactile plusieurs fois.
  • Vérifiez le changement d'état du relais. Vous remarquerez que le relais s'allume ou s'éteint une fois à chaque fois que vous posez votre doigt sur le capteur tactile.

Vidéo

※ 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!