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.4 Schiebeschalter

Einführung

In diesem Projekt werden wir lernen, wie man einen Schiebeschalter verwendet. Normalerweise wird der Schiebeschalter auf einer PCB als Ein-/Ausschalter gelötet, aber hier müssen wir ihn in das Steckbrett einsetzen, wodurch er möglicherweise nicht fest sitzt. Und wir verwenden ihn auf dem Steckbrett, um seine Funktion zu zeigen.

Benötigte Komponenten

Für dieses Projekt benötigen wir die folgenden Komponenten.

../_images/list_2.1.2_slide_switch.png

Es ist definitiv praktisch, ein komplettes Set zu kaufen, hier ist der Link:

Name

ARTIKEL IN DIESEM KIT

LINK

Raphael Kit

337

Raphael Kit

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

KOMPONENTENBESCHREIBUNG

KAUF-LINK

GPIO Extension Board

KAUFEN

Steckbrett

KAUFEN

Jumper-Kabel

KAUFEN

Widerstand

KAUFEN

LED

KAUFEN

Schiebeschalter

KAUFEN

Kondensator

KAUFEN

Schaltplan

Verbinden Sie den mittleren Pin des Schiebeschalters mit GPIO17 und zwei LEDs mit Pin GPIO22 und GPIO27 jeweils. Wenn Sie dann den Schiebeschalter betätigen, sehen Sie, wie die beiden LEDs abwechselnd leuchten.

../_images/image305.png ../_images/image306.png

Experimentelle Verfahren

Schritt 1: Bauen Sie den Schaltkreis.

../_images/image161.png

Schritt 2: Wechseln Sie in den Ordner des Codes.

cd ~/raphael-kit/python

Schritt 3: Starten.

sudo python3 2.1.4_Slider.py

Während der Code läuft, verbinden Sie den Schalter mit der linken Seite, dann leuchtet die gelbe LED auf; zur rechten Seite leuchtet das rote Licht.

Code

Bemerkung

Sie können den untenstehenden Code Bearbeiten/Zurücksetzen/Kopieren/Starten/Stoppen. Aber zuerst müssen Sie zum Quellcode-Pfad wie raphael-kit/python gehen. Nach der Bearbeitung können Sie ihn direkt ausführen, um den Effekt zu sehen.

import RPi.GPIO as GPIO
import time

# Set GPIO17 as slide switch pin, GPIO22 as led1 pin, GPIO27 as led2 pin
slidePin = 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 slidePin input
    # Set ledPin output,
    # and initial level to High(3.3v)
    GPIO.setup(slidePin, 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:
        # slide switch high, led1 on
        if GPIO.input(slidePin) == 1:
            print ('    LED1 ON    ')
            GPIO.output(led1Pin, GPIO.LOW)
            GPIO.output(led2Pin, GPIO.HIGH)

        # slide switch low, led2 on
        if GPIO.input(slidePin) == 0:
            print ('    LED2 ON    ')
            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

if GPIO.input(slidePin) == 1:
            GPIO.output(led1Pin, GPIO.LOW)
            GPIO.output(led2Pin, GPIO.HIGH)

Wenn der Schiebeschalter nach rechts gezogen wird, sind der mittlere Pin und der rechte Pin verbunden; der Raspberry Pi liest am mittleren Pin ein hohes Signal, daher ist die LED1 an und die LED2 aus.

if GPIO.input(slidePin) == 0:
            GPIO.output(led2Pin, GPIO.LOW)
            GPIO.output(led1Pin, GPIO.HIGH)

Wenn der Schiebeschalter nach links gezogen wird, sind der mittlere Pin und der linke Pin verbunden; der Raspberry Pi liest ein niedriges Signal, daher ist die LED2 an und die LED1 aus.

Phänomen-Bild

../_images/image162.jpeg