Bemerkung

Hallo, willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Community auf Facebook! Tauche tiefer in die Welt von Raspberry Pi, Arduino und ESP32 ein – gemeinsam mit Gleichgesinnten.

Warum beitreten?

  • Expertenunterstützung: Erhalte Hilfe bei technischen Herausforderungen und nach dem Kauf auftretenden Problemen durch unsere Community und unser Team.

  • Lernen & Teilen: Tausche Tipps und Tutorials aus, um deine Fähigkeiten zu verbessern.

  • Exklusive Vorschauen: Erhalte frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.

  • Spezielle Rabatte: Profitiere von exklusiven Preisnachlässen auf unsere neuesten Produkte.

  • Feierliche Aktionen und Gewinnspiele: Nimm an Verlosungen und saisonalen Aktionen teil.

👉 Bereit, mit uns zu entdecken und zu kreieren? Klicke auf [hier] und werde Teil unserer Community!

2.6 Neigungssensor nutzen

In dieser Lektion lernen wir, wie man einen Neigungsschalter mit dem Raspberry Pi Pico 2 verwendet, um Änderungen in der Ausrichtung zu erkennen. Ein Neigungsschalter ist ein einfaches Bauteil, das erkennen kann, ob es aufrecht oder geneigt ist. Er wird häufig für Bewegungsmelder, Orientierungssensoren oder als Auslöser basierend auf der Position eingesetzt.

Benötigte Komponenten

Für dieses Projekt werden folgende Komponenten benötigt.

Ein komplettes Kit ist besonders praktisch. Hier ist der Link:

Name

ENTHALTENE TEILE

LINK

Newton Lab Kit

450+

Newton Lab Kit

Alternativ können die Komponenten auch einzeln über die folgenden Links erworben werden.

SN

KOMPONENTE

MENGE

LINK

1

Raspberry Pi Pico 2

1

KAUFEN

2

Micro-USB-Kabel

1

3

Steckbrett

1

KAUFEN

4

Jumperkabel

Mehrere

KAUFEN

5

Widerstand

1 (10KΩ)

KAUFEN

6

Neigungsschalter

1

Schaltplan

sch_tilt

  • Aufrecht (Schalter geschlossen):

    • Der Neigungsschalter verbindet 3.3V direkt mit GP14.

    • Die GPIO-Pin liest HIGH (1).

  • Geneigt (Schalter offen):

    • Der Neigungsschalter trennt 3.3V von GP14.

    • Der Pull-Down-Widerstand zieht GP14 auf GND.

    • Die GPIO-Pin liest LOW (0).

Verdrahtung

wiring_tilt

Code schreiben

Wir schreiben ein einfaches MicroPython-Programm, das den Zustand des Neigungsschalters erkennt und eine Meldung ausgibt, wenn der Schalter gekippt wird.

Bemerkung

  • Öffne 2.6_tilt_switch.py aus newton-lab-kit/micropython oder kopiere den Code in Thonny, dann klicke auf „Run“ oder drücke F5.

  • Stelle sicher, dass der richtige Interpreter ausgewählt ist: MicroPython (Raspberry Pi Pico).COMxx.

import machine
import utime

# Initialisiere GP14 als Eingabepin
tilt_switch = machine.Pin(14, machine.Pin.IN)

while True:
    if tilt_switch.value() == 0:
        print("Tilt detected!")
        utime.sleep(1)  # Verzögerung zur Vermeidung mehrfacher Erkennungen

Wenn der Code läuft, beobachte folgendes Verhalten:

  • Wenn der Neigungsschalter aufrecht steht, wird keine Meldung ausgegeben.

  • Wenn das Steckbrett oder der Schalter geneigt wird, erscheint die Meldung „Neigung erkannt!“ in der Konsole.

Den Code verstehen

  1. Module importieren:

    • import machine: Ermöglicht den Zugriff auf Hardwarekomponenten.

    • import utime: Erlaubt die Nutzung zeitbezogener Funktionen.

  2. Den Neigungsschalter initialisieren:

    • tilt_switch = machine.Pin(14, machine.Pin.IN): Setzt GP14 als Eingabepin.

  3. Hauptschleife:

    • while True: Erstellt eine Endlosschleife zur kontinuierlichen Überprüfung des Neigungsschalters.

    • if tilt_switch.value() == 0: Prüft, ob der GPIO-Pin LOW (0) liest, was bedeutet, dass der Schalter geneigt ist.

    • print("Neigung erkannt!"): Gibt eine Meldung aus, wenn die Neigung erkannt wird.

    • utime.sleep(1): Fügt eine 1-Sekunden-Verzögerung hinzu, um Mehrfacherkennungen zu vermeiden.

Alternative Verdrahtung: Interner Pull-Down-Widerstand

Der Raspberry Pi Pico 2 erlaubt die Aktivierung interner Pull-Up- oder Pull-Down-Widerstände, wodurch kein externer Widerstand benötigt wird.

import machine
import utime

# Initialisiere GP14 als Eingabepin mit internem Pull-Down-Widerstand
tilt_switch = machine.Pin(14, machine.Pin.IN, machine.Pin.PULL_DOWN)

while True:
    if tilt_switch.value() == 1:
        print("Tilt detected!")
        utime.sleep(1)

Durch Aktivieren des internen Pull-Down-Widerstands (machine.Pin.PULL_DOWN) wird der GPIO-Pin standardmäßig auf LOW gesetzt, wenn keine Spannung anliegt. Wenn der Neigungsschalter aufrecht (geschlossen) ist, verbindet er 3.3V mit GP14, wodurch der Pin HIGH (1) liest.

Praktische Anwendungen

  • Orientierungserkennung: Bestimme, ob ein Gerät aufrecht oder geneigt ist.

  • Bewegungsgesteuerte Ereignisse: Aktiviere Alarme, Benachrichtigungen oder Aktionen bei Bewegung.

  • Interaktive Projekte: Nutze den Neigungsschalter als Steuerung für Spiele oder interaktive Installationen.

Weitere Experimente

  • LED als Indikator hinzufügen:

Verbinde eine LED mit einem anderen GPIO-Pin (z. B. GP15) und passe den Code an, um die LED zu aktivieren, wenn eine Neigung erkannt wird.

import machine
import utime

tilt_switch = machine.Pin(14, machine.Pin.IN, machine.Pin.PULL_DOWN)
led = machine.Pin(15, machine.Pin.OUT)

while True:
    if tilt_switch.value() == 1:
        print("Tilt detected!")
        led.value(1)  # Schalte die LED ein
        utime.sleep(1)
    else:
        led.value(0)  # Schalte die LED aus
  • Mit anderen Sensoren kombinieren:

    Kombiniere den Neigungsschalter mit anderen Sensoren wie Tastern oder Lichtsensoren für komplexere Interaktionen.

Fazit

Durch den Einsatz eines Neigungsschalters in deinen Raspberry Pi Pico 2-Projekten kannst du eine neue Dimension der Interaktivität durch Positions- und Bewegungserkennung hinzufügen. Das Verständnis, wie digitale Eingaben von Sensoren wie dem Neigungsschalter verarbeitet werden, erweitert deine Möglichkeiten zur Entwicklung dynamischer und reaktionsfähiger Elektronikprojekte.