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!
Lektion 22: Berührungssensor-Modul
In dieser Lektion lernen Sie, wie Sie einen Berührungssensor mit dem Raspberry Pi verbinden und programmieren, indem Sie Python verwenden. Der Fokus liegt darauf, den Sensor an GPIO-Pin 17 einzurichten und ein einfaches Skript zu schreiben, um Berührungs- und Loslassereignisse zu erkennen und darauf zu reagieren. Diese praktische Sitzung zielt darauf ab, die Grundlagen der Sensorintegration und der Ereignisbehandlung in Python zu vermitteln, und bietet Ihnen die Fähigkeiten, die für fortgeschrittenere, sensorbasierte Projekte erforderlich sind. Es ist ein idealer Einstiegspunkt für diejenigen, die neu im Umgang mit Elektronik und dem Raspberry Pi sind.
Erforderliche Komponenten
In diesem Projekt benötigen wir die folgenden Komponenten.
Es ist definitiv praktisch, ein ganzes Kit zu kaufen, hier ist der Link:
Name |
ITEMS IN THIS KIT |
LINK |
|---|---|---|
Universal Maker Sensor Kit |
94 |
Sie können sie auch einzeln über die untenstehenden Links kaufen.
Component Introduction |
Purchase Link |
|---|---|
Raspberry Pi 5 |
|
Verkabelung
Code
from gpiozero import Button
from signal import pause
# Function called when the sensor is touched
def touched():
# Print a message indicating the sensor is touched
print("Touched!")
# Function called when the sensor is not touched
def not_touched():
# Print a message indicating the sensor is not touched
print("Not touched!")
# Initialize a Button object for the touch sensor
# GPIO 17: pin connected to the sensor
# pull_up=None: disable internal pull-up/pull-down resistors
# active_state=True: high voltage is considered the active state
touch_sensor = Button(17, pull_up=None, active_state=True)
# Assign functions to sensor events
touch_sensor.when_pressed = touched
touch_sensor.when_released = not_touched
pause() # Keep the program running to detect touch events
Code-Analyse
Bibliotheken importieren
Das Skript beginnt mit dem Import der Klasse
Buttonaus der gpiozero-Bibliothek zur Ansteuerung des Berührungssensors undpauseaus dem signal-Modul, um das Programm am Laufen zu halten und auf Ereignisse zu reagieren.from gpiozero import Button from signal import pause
Callback-Funktionen definieren
Zwei Funktionen,
touchedundnot_touched, werden definiert, um Berührungs- und Loslassereignisse des Sensors zu verarbeiten. Jede Funktion gibt eine Nachricht aus, die den Zustand des Sensors anzeigt.def touched(): print("Touched!") def not_touched(): print("Not touched!")
Initialisierung des Berührungssensors
Ein
Button-Objekt namenstouch_sensorwird für den Berührungssensor an GPIO-Pin 17 erstellt. Der Parameterpull_upist aufNonegesetzt, um interne Pull-up/Pull-down-Widerstände zu deaktivieren, undactive_stateist aufTruegesetzt, um hohe Spannung als aktiven Zustand zu betrachten.touch_sensor = Button(17, pull_up=None, active_state=True)
Funktionen den Sensorereignissen zuweisen
Das Ereignis
when_presseddestouch_sensorwird mit der Funktiontouchedverknüpft, und das Ereigniswhen_releasedwird mit der Funktionnot_touchedverknüpft. Diese Konfiguration ermöglicht es dem Skript, auf Berührungs- und Loslassereignisse des Sensors zu reagieren.touch_sensor.when_pressed = touched touch_sensor.when_released = not_touched
Das Programm am Laufen halten
Die Funktion
pause()wird aufgerufen, um das Programm unendlich laufen zu lassen. Dies ist notwendig, um Berührungssensorereignisse kontinuierlich zu überwachen und darauf zu reagieren.pause()