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 Touchschalter-Modul
Einführung
In diesem Projekt lernen Sie das Touchschalter-Modul kennen. Es kann traditionelle Schaltertypen ersetzen und bietet diese 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 Set zu kaufen. Hier ist der Link:
Name |
ARTIKEL IN DIESEM KIT |
LINK |
|---|---|---|
Raphael Kit |
337 |
Sie können diese auch einzeln über die untenstehenden Links kaufen.
KOMPONENTENBESCHREIBUNG |
KAUF-LINK |
|---|---|
Schaltplan
Experimentelle Verfahren
Schritt 1: Schaltung aufbauen.
Schritt 2: Verzeichnis wechseln.
cd ~/raphael-kit/python/
Schritt 3: Ausführen.
sudo python3 2.1.3_TouchSwitch.py
Während der Code läuft, leuchtet die rote LED. Wenn Sie das Touchschalter-Modul berühren, schaltet sich die gelbe LED ein.
Code
Bemerkung
Sie können den untenstehenden Code Ändern/Zurücksetzen/Kopieren/Ausführen/Stoppen. Doch zuvor müssen Sie zum Quellcode-Pfad wie raphael-kit/python navigieren. Nach der Modifizierung können Sie den Code direkt ausführen, um das Ergebnis zu sehen.
#!/usr/bin/env python3
import RPi.GPIO as GPIO
import time
# Set #17 as touch switch pin, #22 as led1 pin, #27 as led2 pin
touchPin = 17
led1Pin = 22
led2Pin = 27
# Define a setup function for some setup
def setup():
# Set the GPIO modes to BCM Numbering
GPIO.setmode(GPIO.BCM)
# Set touchPin input
# Set ledPin output,
# and initial level to High(3.3v)
GPIO.setup(touchPin, GPIO.IN)
GPIO.setup(led1Pin, GPIO.OUT, initial=GPIO.HIGH)
GPIO.setup(led2Pin, GPIO.OUT, initial=GPIO.HIGH)
# Define a main function for main process
def main():
while True:
# touch switch high, led1 on
if GPIO.input(touchPin) == 1:
print ('You touch it!')
GPIO.output(led1Pin, GPIO.LOW)
GPIO.output(led2Pin, GPIO.HIGH)
# touch switch low, led2 on
if GPIO.input(touchPin) == 0:
GPIO.output(led2Pin, GPIO.LOW)
GPIO.output(led1Pin, GPIO.HIGH)
time.sleep(0.5)
# Define a destroy function for clean up everything after
# the script finished
def destroy():
# Turn off LED
GPIO.output(led1Pin, GPIO.HIGH)
GPIO.output(led2Pin, GPIO.HIGH)
# Release resource
GPIO.cleanup()
# If run this script directly, do:
if __name__ == '__main__':
setup()
try:
main()
# When 'Ctrl+C' is pressed, the program
# destroy() will be executed.
except KeyboardInterrupt:
destroy()
Code-Erklärung
touchPin = 17
led1Pin = 22
led2Pin = 27
touchPin, led1Pin und led2Pin sind mit GPIO17, GPIO22 und GPIO27 verbunden,
das heißt BCM17, BCM22 und BCM27.
GPIO.setmode(GPIO.BCM)
GPIO.setup(touchPin, GPIO.IN)
GPIO.setup(led1Pin, GPIO.OUT, initial=GPIO.HIGH)
GPIO.setup(led2Pin, GPIO.OUT, initial=GPIO.HIGH)
Legt den GPIO-Modus auf BCM-Nummerierung fest. Stellt led1Pin, led2Pin auf den Ausgangsmodus
und initialisiert ihren Pegel auf Hoch (3,3V).
# touch switch high, led1 on
if GPIO.input(touchPin) == 1:
print ('You touch it!')
GPIO.output(led1Pin, GPIO.LOW)
GPIO.output(led2Pin, GPIO.HIGH)
# touch switch low, led2 on
if GPIO.input(touchPin) == 0:
GPIO.output(led2Pin, GPIO.LOW)
GPIO.output(led1Pin, GPIO.HIGH)
Wenn Sie das Touchschalter-Modul berühren, ist touchPin hoch, led1 leuchtet auf und es wird "Du hast es berührt!" ausgegeben. Wenn touchPin niedrig ist, leuchtet led2 auf.