Note
Bonjour et bienvenue dans la Communauté Facebook des passionnés de Raspberry Pi, Arduino et ESP32 de SunFounder ! Plongez plus profondément dans l’univers des Raspberry Pi, Arduino et ESP32 avec d’autres passionnés.
Pourquoi rejoindre ?
Support d’experts : Résolvez les problèmes après-vente et les défis techniques avec l’aide de notre communauté et de notre équipe.
Apprendre et partager : Échangez des astuces et des tutoriels pour améliorer vos compétences.
Aperçus exclusifs : Accédez en avant-première aux annonces de nouveaux produits et aux aperçus.
Réductions spéciales : Profitez de réductions exclusives sur nos produits les plus récents.
Promotions festives et cadeaux : Participez à des cadeaux et des promotions de vacances.
👉 Prêt à explorer et à créer avec nous ? Cliquez [Ici] et rejoignez-nous aujourd’hui !
2.1.3 Module de Commutateur Tactile
Introduction
Dans ce projet, vous allez découvrir le module de commutateur tactile. Il peut remplacer les types de commutateurs traditionnels avec ces avantages : utilisation pratique, sensation de toucher agréable, contrôle précis et usure mécanique minimale.
Composants Nécessaires
Pour ce projet, nous avons besoin des composants suivants.
Il est certainement pratique d’acheter un kit complet, voici le lien :
Nom |
ÉLÉMENTS DANS CE KIT |
LIEN |
|---|---|---|
Kit Raphael |
337 |
Vous pouvez également les acheter séparément via les liens ci-dessous.
PRÉSENTATION DES COMPOSANTS |
LIEN D’ACHAT |
|---|---|
Schéma de Câblage
Procédures Expérimentales
Étape 1 : Construire le circuit.
Étape 2 : Changer de répertoire.
cd ~/raphael-kit/python-pi5
Étape 3 : Exécuter.
sudo python3 2.1.3_TouchSwitch_zero.py
Pendant que le code s’exécute, la LED rouge s’allume ; lorsque vous appuyez sur le module de commutateur tactile, la LED jaune s’allume.
Avertissement
Si vous recevez le message d’erreur RuntimeError: Cannot determine SOC peripheral base address, veuillez consulter Si « gpiozero » ne fonctionne pas.
Code
Note
Vous pouvez Modifier/Réinitialiser/Copier/Exécuter/Arrêter le code ci-dessous. Mais avant cela, vous devez aller au chemin du code source comme raphael-kit/python-pi5. Après avoir modifié le code, vous pouvez l’exécuter directement pour voir l’effet.
#!/usr/bin/env python3
from gpiozero import LED, Button # Import LED and Button classes from gpiozero
from time import sleep # Import sleep for delay
# Initialize touch sensor (Button) on GPIO pin 17, pull-up resistor disabled
touch_sensor = Button(17, pull_up=False) # Suitable for sensors that pull the pin low when pressed
# Initialize LED1 and LED2 connected to GPIO pins 22 and 27 respectively
led1 = LED(22) # LED1 connected to GPIO pin 22
led2 = LED(27) # LED2 connected to GPIO pin 27
try:
# Continuously monitor the state of the touch sensor and control LEDs accordingly
while True:
if touch_sensor.is_pressed: # Check if the touch sensor is pressed
print('You touch it!') # Output message indicating sensor activation
led1.off() # Turn off LED1
led2.on() # Turn on LED2
else: # If the sensor is not pressed
led1.on() # Turn on LED1
led2.off() # Turn off LED2
sleep(0.5) # Pause for 0.5 seconds before rechecking the sensor state
except KeyboardInterrupt:
# Handle a keyboard interrupt (Ctrl+C) for a clean exit from the loop
pass
Explication du Code
Cette ligne configure le script pour qu’il s’exécute avec Python 3. Elle importe
LEDetButtondegpiozeropour contrôler les dispositifs GPIO, etsleepdetimepour les délais.#!/usr/bin/env python3 from gpiozero import LED, Button # Import LED and Button classes from gpiozero from time import sleep # Import sleep for delay
Initialise un capteur tactile (en tant que Button) sur la broche GPIO 17 avec la résistance pull-up désactivée, et deux LED sur les broches GPIO 22 et 27.
# Initialize touch sensor (Button) on GPIO pin 17, pull-up resistor disabled touch_sensor = Button(17, pull_up=False) # Suitable for sensors that pull the pin low when pressed # Initialize LED1 and LED2 connected to GPIO pins 22 and 27 respectively led1 = LED(22) # LED1 connected to GPIO pin 22 led2 = LED(27) # LED2 connected to GPIO pin 27
La boucle principale vérifie l’état du capteur tactile. Lorsqu’il est touché, LED2 s’allume et LED1 s’éteint ; lorsqu’il n’est pas touché, LED1 est allumée et LED2 éteinte. La boucle se répète toutes les 0,5 secondes. Capture un KeyboardInterrupt (comme Ctrl+C) pour permettre une terminaison propre du script.
try: # Continuously monitor the state of the touch sensor and control LEDs accordingly while True: if touch_sensor.is_pressed: # Check if the touch sensor is pressed print('You touch it!') # Output message indicating sensor activation led1.off() # Turn off LED1 led2.on() # Turn on LED2 else: # If the sensor is not pressed led1.on() # Turn on LED1 led2.off() # Turn off LED2 sleep(0.5) # Pause for 0.5 seconds before rechecking the sensor state except KeyboardInterrupt: # Handle a keyboard interrupt (Ctrl+C) for a clean exit from the loop pass