Bemerkung
Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten.
Warum beitreten?
Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.
Lernen & Teilen: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern.
Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.
Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.
Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.
👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [hier] und treten Sie heute bei!
2.1.3 Berührungsschaltermodul
Einleitung
In diesem Projekt werden wir das Berührungsschaltermodul kennenlernen. Es kann traditionelle Schaltertypen ersetzen und bietet folgende Vorteile: bequeme Bedienung, feines Tastgefühl, präzise Steuerung und minimaler mechanischer Verschleiß.
Benötigte Komponenten
Für dieses Projekt benötigen wir die folgenden Komponenten.
Es ist definitiv praktisch, ein ganzes Kit zu kaufen, hier ist der Link:
Name |
IN DIESEM KIT ENTHALTENE TEILE |
LINK |
|---|---|---|
Raphael Kit |
337 |
Sie können sie auch separat über die unten stehenden Links kaufen.
KOMPONENTENVORSTELLUNG |
KAUF-LINK |
|---|---|
Schaltplan
Experimentelle Verfahren
Schritt 1: Bauen Sie den Schaltkreis auf.
Schritt 2: Wechseln Sie ins Verzeichnis.
cd ~/raphael-kit/python-pi5
Schritt 3: Führen Sie den Code aus.
sudo python3 2.1.3_TouchSwitch_zero.py
Während der Code läuft, leuchtet die rote LED; wenn Sie das Berührungsschaltermodul antippen, schaltet sich die gelbe LED ein.
Warnung
Wenn die Fehlermeldung RuntimeError: Cannot determine SOC peripheral base address angezeigt wird, lesen Sie bitte If gpiozero doesn’t work.
Code
Bemerkung
Sie können den unten stehenden Code modifizieren/zurücksetzen/kopieren/ausführen/stoppen. Aber zuvor müssen Sie zum Quellcodepfad wie raphael-kit/python-pi5 gehen. Nachdem Sie den Code modifiziert haben, können Sie ihn direkt ausführen, um den Effekt zu sehen.
#!/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
Code-Erklärung
Diese Zeile legt fest, dass das Skript mit Python 3 ausgeführt wird. Es importiert die Klassen
LEDundButtonausgpiozerozur Steuerung von GPIO-Geräten undsleepaustimefür Verzögerungen.#!/usr/bin/env python3 from gpiozero import LED, Button # Import LED and Button classes from gpiozero from time import sleep # Import sleep for delay
Initialisiert einen Berührungssensor (als Button) am GPIO-Pin 17 mit deaktiviertem Pull-Up-Widerstand und zwei LEDs an den GPIO-Pins 22 und 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
In der Hauptschleife wird der Zustand des Berührungssensors überprüft. Bei Berührung schaltet sich LED2 ein und LED1 aus; wenn nicht berührt, ist LED1 eingeschaltet und LED2 ausgeschaltet. Die Schleife wiederholt sich alle 0,5 Sekunden. Fängt eine Tastaturunterbrechung (wie Strg+C) ab, um das Skript anmutig zu beenden.
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