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.
Es ist definitiv praktisch, ein komplettes Set zu kaufen, hier ist der Link:
Name |
ARTIKEL IN DIESEM KIT |
LINK |
|---|---|---|
Raphael Kit |
337 |
Sie können diese auch separat über die untenstehenden Links kaufen.
KOMPONENTENBESCHREIBUNG |
KAUF-LINK |
|---|---|
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.
Experimentelle Verfahren
Schritt 1: Bauen Sie den Schaltkreis.
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