Bemerkung
Hallo, willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Community auf Facebook! Tauchen Sie mit anderen Enthusiasten tiefer in Raspberry Pi, Arduino und ESP32 ein.
Warum beitreten?
Expertenunterstützung: Lösen Sie Probleme nach dem Kauf und technische Herausforderungen mit Hilfe unserer Community und unseres Teams.
Lernen & Teilen: Tauschen Sie Tipps und Tutorials aus, um Ihre Fähigkeiten zu verbessern.
Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und Sneak Peeks.
Sonderrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.
Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.
👉 Bereit, mit uns zu entdecken und zu gestalten? Klicken Sie auf [here] und treten Sie noch heute bei!
1.1 Blinkende LED
Einführung
Willkommen zu Ihrem ersten Projekt! In diesem Tutorial lernen wir, wie man eine LED mithilfe von Python und den GPIO-Pins zum Blinken bringt. Dieses Projekt ist eine hervorragende Einführung in die Integration von Hardware und Software und zeigt, wie einfacher Code mit realen elektronischen Komponenten interagieren kann.
Bevor wir beginnen, erklären wir kurz einige Grundlagen:
Was ist eine LED?
Eine LED (Light Emitting Diode) ist ein kleines elektronisches Bauteil, das aufleuchtet, wenn elektrischer Strom durch sie fließt. LEDs werden in der Elektronik häufig eingesetzt, da sie energieeffizient und langlebig sind.
Was ist ein GPIO-Pin?
GPIO steht für General Purpose Input/Output. Diese Pins ermöglichen es dem Raspberry Pi, mit externen Geräten wie LEDs, Sensoren oder Tastern zu kommunizieren. Jeder Pin kann so programmiert werden, dass er Signale sendet (Output) oder Signale empfängt (Input).
In diesem Tutorial verbinden wir eine LED mit einem GPIO-Pin und schreiben ein Python-Programm, das die LED blinken lässt. Los geht’s!
Benötigte Komponenten
Hier ist die Liste der Komponenten und ihrer Zwecke:
KOMPONENTE |
KAUFLINK |
|---|---|
- |
|
Raspberry Pi |
- |
Schaltplan
Der Widerstand begrenzt den Strom, der durch die LED fließt, und verhindert so, dass sie durchbrennt. Ohne Widerstand könnte die LED zu viel Strom ziehen, was sowohl die LED als auch den Raspberry Pi beschädigen kann.
Verdrahtungsdiagramm
Folgen Sie dem folgenden Verdrahtungsdiagramm, um Ihre Komponenten zu verbinden:
Code ausführen
Nun schreiben wir den Python-Code, um die LED zu steuern. Sie erstellen ein Skript, das die LED in regelmäßigen Abständen ein- und ausschaltet.
Zum Codeverzeichnis wechseln:
Öffnen Sie das Terminal und geben Sie Folgendes ein:
cd ~/ai-lab-kit/python
Programm ausführen:
Verwenden Sie den folgenden Befehl, um das Skript auszuführen:
sudo python3 1.1_LED.py
Sie sollten sehen, wie die LED in regelmäßigen Abständen ein- und ausgeschaltet wird.
Code bearbeiten (optional):
Um das Programm zu ändern, öffnen Sie die Code-Datei in einem Texteditor:
nano 1.1_LED.py
Nehmen Sie Ihre Änderungen vor und drücken Sie anschließend
Ctrl+X, um den Editor zu verlassen. Speichern Sie Ihre Änderungen, indem Sie bei der entsprechenden AufforderungYeingeben. Führen Sie das Skript anschließend erneut aus, um Ihre Änderungen zu sehen.
Code
Hier ist das vollständige Python-Skript für dieses Projekt:
#!/usr/bin/env python3
from fusion_hat.pin import Pin, Mode
from time import sleep
# Initialize an LED connected to GPIO pin 17 as an output pin.
led = Pin(17,mode=Mode.OUT)
try:
# Start an infinite loop to toggle the LED state.
while True:
# Turn on the LED and print a message to the console.
led.high()
print('...LED ON')
# Wait for 0.5 seconds with the LED on.
sleep(0.5)
# Turn off the LED and print a message to the console.
led.low()
print('LED OFF...')
# Wait for 0.5 seconds with the LED off.
sleep(1)
except KeyboardInterrupt:
# Gracefully handle a keyboard interrupt (Ctrl+C) by breaking the loop.
pass
Dieses Python-Skript steuert eine LED, die mit GPIO-Pin 17 eines Raspberry Pi verbunden ist. Wenn das Programm ausgeführt wird, schaltet sich die LED abwechselnd im Abstand von einer halben Sekunde ein und aus. Gleichzeitig gibt die Konsole „LED is ON“ und „LED is OFF“ aus, um den aktuellen Zustand der LED anzuzeigen. Das Programm läuft unbegrenzt weiter, bis es vom Benutzer durch Drücken von Ctrl+C unterbrochen wird.
Den Code verstehen
Importe:
Die Bibliothek
fusion_hatvereinfacht die Steuerung von GPIO-Geräten. Die KlassePinermöglicht es, eine LED mit grundlegenden Methoden wieon()undoff()zu steuern. Die Funktionsleeperzeugt Verzögerungen zwischen den Befehlen.Bemerkung
Informationen zur Verwendung von fusion-hat finden Sie unter fusion-hat documentation .
Initialisierung:
Die Zeile
led = Pin(17,mode=Mode.OUT)teilt dem Raspberry Pi mit, dass eine LED mit GPIO-Pin 17 verbunden ist.Hauptschleife:
Innerhalb der
while True-Schleife: Die LED wird eingeschaltet (led.on()) und ausgeschaltet (led.off()), jeweils mit einer Pause von 0,5 Sekunden dazwischen (sleep(0.5)).Sauberes Beenden:
Der
try...except-Block stellt sicher, dass das Programm sauber beendet wird, wenn es unterbrochen wird (z. B. durch Drücken vonCtrl+C).
Fehlerbehebung
LED leuchtet nicht
Ursache: Falscher GPIO-Pin oder fehlerhafte Verdrahtung.
Lösung: Überprüfen Sie die Verbindung der LED mit GPIO-Pin 17 und stellen Sie sicher, dass der Widerstand korrekt eingesetzt ist, um Schäden an der LED zu vermeiden.
KeyboardInterrupt funktioniert nicht
Ursache: Das Programm wird nicht ordnungsgemäß beendet.
Lösung: Stellen Sie sicher, dass das Skript in einem Terminal ausgeführt wird, in dem
Ctrl+Cerfasst wird, und nicht als Hintergrundprozess.
Falsche GPIO-Einrichtung
Ursache: Die Bibliothek
fusion_hatist nicht installiert.Lösung: Siehe Installation des fusion-hat-Moduls.
LED flackert oder verhält sich unregelmäßig
Ursache: Instabile Stromversorgung oder schlechte Verbindungen.
Lösung: Verwenden Sie eine stabile Stromquelle und stellen Sie sicher, dass alle Kabel fest verbunden sind.
Erweiterungsideen
Variable Blinkgeschwindigkeit: Fügen Sie eine Benutzereingabe hinzu, um die Blinkgeschwindigkeit der LED dynamisch zu steuern:
interval = float(input("Blinkintervall in Sekunden eingeben: ")) while True: led.on() sleep(interval) led.off() sleep(interval)
Mehrere LEDs steuern: Verbinden Sie mehrere LEDs mit unterschiedlichen GPIO-Pins und steuern Sie sie in Mustern (z. B. sequentielles Aufleuchten oder gleichzeitiges Blinken).
Fazit
Herzlichen Glückwunsch! Sie haben Ihr erstes Raspberry-Pi-Projekt abgeschlossen. Durch die Steuerung einer LED haben Sie gelernt, wie man GPIO-Pins verwendet und Python-Skripte schreibt, um mit Hardware zu interagieren. Dieses grundlegende Wissen bildet eine solide Basis für komplexere Projekte. Experimentieren Sie weiter und entdecken Sie neue Möglichkeiten!