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.2 Mikroschalter
Einführung
In diesem Projekt lernen wir den Umgang mit einem Mikroschalter. Ein Mikroschalter ist ein kleiner, sehr empfindlicher Schalter, der nur minimalen Druck benötigt, um aktiviert zu werden. Wegen ihrer Zuverlässigkeit und Empfindlichkeit werden Mikroschalter oft als Sicherheitsvorrichtung eingesetzt.
Sie verhindern beispielsweise, dass Türen schließen, wenn sich jemand oder etwas im Weg befindet und haben ähnliche Anwendungen.
Benötigte Komponenten
Für dieses Projekt benötigen wir folgende Komponenten:
Es ist definitiv praktisch, ein ganzes Set zu kaufen. Hier ist der Link:
Name |
ARTIKEL IN DIESEM KIT |
LINK |
|---|---|---|
Raphael Kit |
337 |
Die Komponenten können auch einzeln über die untenstehenden Links erworben werden.
KOMPONENTENVORSTELLUNG |
KAUF-LINK |
|---|---|
- |
|
Schaltplan
Verbinde den linken Pin des Mikroschalters mit GPIO17 und zwei LEDs jeweils mit den Pins GPIO22 und GPIO27. Wenn du den beweglichen Arm des Mikroschalters drückst und wieder loslässt, leuchten die beiden LEDs abwechselnd auf.
Experimentelle Verfahren
Schritt 1: Baue den Schaltkreis auf.
Schritt 2: Gehe in den Ordner mit dem Code.
cd ~/raphael-kit/python
Schritt 3: Ausführen.
sudo python3 2.1.2_MicroSwitch.py
Während der Code ausgeführt wird, drücke den beweglichen Arm, dann leuchtet die gelbe LED auf; lasse den beweglichen Arm los, und die rote LED schaltet sich ein.
Code
Bemerkung
Den untenstehenden Code können Sie Ändern/Zurücksetzen/Kopieren/Ausführen/Stoppen. Bevor Sie das tun, sollten Sie jedoch zum Quellcode-Pfad wie raphael-kit/python gehen. 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 micro switch pin, #22 as led1 pin, #27 as led2 pin
microPin = 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 microPin input
# Set ledPin output,
# and initial level to High(3.3v)
GPIO.setup(microPin, 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:
# micro switch high, led1 on
if GPIO.input(microPin) == 1:
print ('LED1 ON')
GPIO.output(led1Pin, GPIO.LOW)
GPIO.output(led2Pin, GPIO.HIGH)
# micro switch low, led2 on
if GPIO.input(microPin) == 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 bewegliche Arm des Mikroschalters losgelassen wird, wird der linke Pin mit dem rechten Pin verbunden; zu diesem Zeitpunkt wird ein hohes Signal auf GPIO17 gelesen, und dann wird LED1 eingeschaltet und LED2 ausgeschaltet.
if GPIO.input(slidePin) == 0:
GPIO.output(led2Pin, GPIO.LOW)
GPIO.output(led1Pin, GPIO.HIGH)
Wenn der bewegliche Arm gedrückt wird, werden der linke Pin und der mittlere Pin verbunden. Zu diesem Zeitpunkt wird ein niedriges Signal auf GPIO17 gelesen, dann wird LED2 eingeschaltet und LED1 ausgeschaltet.