Raspberry Pi - Interrupteur

Le commutateur à bascule, communément appelé l'interrupteur ON/OFF, a deux états : ON (fermé) et OFF (ouvert). Lorsqu'il est pressé, le commutateur alterne entre les deux états et l'état est maintenu même lorsqu'il est relâché.

Ce tutoriel vous explique comment utiliser Raspberry Pi avec l'interrupteur ON/OFF. En détail, nous allons apprendre :

Interrupteur ON/OFF pour Raspberry Pi

Ne pas confondre :

Préparation du matériel

1×Raspberry Pi 4 Model B
1×Wires
1×ON/OFF Square Switch
1×(Alternative) ON/OFF Round Switch
1×(Optional) Heat Shrink Tubing
1×(Optional) Soldering Iron
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'interrupteur ON/OFF

Un interrupteur qui change de statut de MARCHE à ARRÊT, ou d'ARRÊT à MARCHE, lorsqu'il est pressé et maintient cet état même après avoir été relâché est appelé un interrupteur MARCHE/ARRÊT. Pour modifier l'état, il doit être pressé à nouveau.

Le schéma des broches du commutateur

Il existe deux variétés d'interrupteurs ON/OFF : à deux broches et à trois broches.

Dans ce tutoriel, nous utiliserons un interrupteur à deux broches. Avec ce type, il n'est pas nécessaire de différencier les deux broches.

Broche de connexion ON/OFF

Comment ça marche

Il existe deux méthodes pour utiliser un interrupteur ON/OFF. Voici un tableau de câblage pour l'interrupteur ON/OFF, ainsi que l'état de lecture sur Raspberry Pi pour les deux méthodes :

pin 1 pin 2 Raspberry Pi Input Pin's State
1 GND Raspberry Pi Input Pin (with pull-up) HIGH OFF, LOW ON
2 VCC Raspberry Pi Input Pin (with pull-down) HIGH ON, LOW OFF

Nous devons choisir l'une des deux options. Le reste du tutoriel utilisera la première.

Diagramme de câblage

Schéma de câblage de l'interrupteur ON/OFF pour 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

Pour une connexion de câblage sécurisée et fiable, nous vous suggérons d'utiliser un fer à souder pour souder les fils et les broches de l'interrupteur ON/OFF. Ensuite, utilisez un tube thermorétractable pour plus de sécurité.

Code Raspberry Pi - Interrupteur ON/OFF

Tout comme un bouton, un interrupteur ON/OFF nécessite également un déparasitage (pour plus d'informations, veuillez consulter Pourquoi le bouton, l'interrupteur ON/OFF nécessite-t-il un déparasitage ?).

※ Note:

Il existe deux applications courantes :

  • La première : Si l'interrupteur est réglé sur ON, effectuer une action. Si l'interrupteur est réglé sur OFF, faire l'inverse.
  • La seconde : Si l'interrupteur est basculé de ON à OFF (ou de OFF à ON), prendre une mesure.

É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 d'avoir la bibliothèque RPi.GPIO installée. Si ce n'est pas le cas, 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 switch.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-switch import RPi.GPIO as GPIO # Set the GPIO mode to BCM GPIO.setmode(GPIO.BCM) # Define the GPIO pin for your switch SWITCH_PIN = 16 # Define debounce time in milliseconds DEBOUNCE_TIME_MS = 200 # 200 milliseconds # Set the initial state and pull-up resistor for the switch GPIO.setup(SWITCH_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Initialize the switch state and previous state switch_state = GPIO.input(SWITCH_PIN) prev_switch_state = switch_state # Define a function to handle switch presses def switch_callback(channel): global switch_state switch_state = GPIO.input(SWITCH_PIN) # Add an event listener for the switch press GPIO.add_event_detect(SWITCH_PIN, GPIO.BOTH, callback=switch_callback, bouncetime=DEBOUNCE_TIME_MS) try: # Main loop while True: # Check if the switch state has changed if switch_state != prev_switch_state: if switch_state == GPIO.HIGH: print("The switch: ON -> OFF") else: print("The switch: OFF -> ON") prev_switch_state = switch_state if switch_state == GPIO.HIGH: print("The switch: OFF") else: print("The switch: ON") except KeyboardInterrupt: # Clean up GPIO on exit GPIO.cleanup()
  • Enregistrez le fichier et exécutez le script Python en exécutant la commande suivante dans le terminal :
python3 switch.py
  • Tournez l'interrupteur en position ON.
  • Vérifiez le résultat sur le terminal.
  • Ensuite, tournez l'interrupteur en position OFF.
  • Vérifiez le résultat sur le terminal.
PuTTY - Raspberry Pi
The switch: OFF The switch: OFF The switch: OFF The switch: OFF -> ON The switch: ON The switch: ON The switch: ON The switch: ON The switch: ON -> OFF The switch: OFF The switch: OFF The switch: OFF

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

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!