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.

../_images/2.1.3component.png

Es ist definitiv praktisch, ein ganzes Set zu kaufen. Hier ist der Link:

Name

ARTIKEL IN DIESEM KIT

LINK

Raphael Kit

337

Raphael Kit

Sie können diese auch einzeln über die untenstehenden Links kaufen.

KOMPONENTENBESCHREIBUNG

KAUF-LINK

GPIO Extension Board

KAUFEN

Steckbrett

KAUFEN

Jumper-Kabel

KAUFEN

Widerstand

KAUFEN

LED

KAUFEN

Berührungsschalter Modul

KAUFEN

Schaltplan

../_images/2.1.3circuit.png

Experimentelle Verfahren

Schritt 1: Schaltung aufbauen.

../_images/2.1.3fritzing.png

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.

Phänomen-Bild

../_images/2.1.3touch_switch_module.JPG