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:

../_images/2.1.2component.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

Die Komponenten können auch einzeln über die untenstehenden Links erworben werden.

KOMPONENTENVORSTELLUNG

KAUF-LINK

GPIO Extension Board

KAUFEN

Steckbrett

KAUFEN

Jumper-Kabel

KAUFEN

Widerstand

KAUFEN

LED

KAUFEN

Mikroschalter

-

Kondensator

KAUFEN

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.

../_images/image305.png ../_images/micro_Schematic.png

Experimentelle Verfahren

Schritt 1: Baue den Schaltkreis auf.

../_images/2.1.4fritzing.png

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.

Phänomen-Bild

../_images/2.1.2micro_switch.JPG