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!
1.1.1 Blinkende LED
Einführung
In diesem Projekt lernen wir, wie man eine blinkende LED durch Programmierung zum Blinken bringt. Durch Ihre Einstellungen kann Ihre LED eine Reihe interessanter Phänomene erzeugen. Legen Sie jetzt los.
Benötigte Komponenten
Für dieses Projekt benötigen wir die folgenden Komponenten.
Es ist sicherlich praktisch, ein ganzes Kit zu kaufen, hier ist der Link:
Name |
ARTIKEL IN DIESEM KIT |
LINK |
|---|---|---|
Raphael Kit |
337 |
Sie können sie auch einzeln über die untenstehenden Links kaufen.
KOMPONENTENBESCHREIBUNG |
KAUF-LINK |
|---|---|
Schaltplan
In diesem Experiment verbinden Sie einen 220Ω Widerstand mit der Anode (dem langen Pin der LED), dann den Widerstand mit 3,3 V und schließen die Kathode (den kurzen Pin) der LED an GPIO17 des Raspberry Pi an. Um eine LED einzuschalten, müssen wir GPIO17 auf das niedrige (0V) Level bringen. Dieses Phänomen können wir durch Programmierung erreichen.
Bemerkung
Pin11 bezieht sich auf den 11. Pin des Raspberry Pi von links nach rechts, und die entsprechenden wiringPi und BCM Pin-Nummern sind in der folgenden Tabelle angegeben.
In den C-Spracheninhalten machen wir GPIO0 gleich 0 in der wiringPi. In den Python-Spracheninhalten ist BCM 17 in der BCM-Spalte der folgenden Tabelle 17. Gleichzeitig sind sie dasselbe wie der 11. Pin am Raspberry Pi, Pin 11.
T-Board Name |
physical |
wiringPi |
BCM |
GPIO17 |
Pin 11 |
0 |
17 |
Experimentelle Verfahren
Schritt 1: Schaltkreis aufbauen.
Schritt 2: Navigieren Sie zum Ordner des Codes und führen Sie ihn aus.
Wenn Sie einen Bildschirm verwenden, empfehlen wir Ihnen, die folgenden Schritte zu befolgen.
Finden Sie 1.1.1_BlinkingLed.py und doppelklicken Sie darauf, um es zu öffnen. Jetzt sind Sie in der Datei.
Klicken Sie auf Run ->Run Module im Fenster, und die folgenden Inhalte werden angezeigt.
Um es zu stoppen, klicken Sie einfach auf das X-Symbol oben rechts, um es zu schließen, und dann kehren Sie zum Code zurück. Wenn Sie den Code ändern, müssen Sie ihn vor dem Klicken auf Run Module (F5) zuerst speichern. Dann können Sie die Ergebnisse sehen.
Wenn Sie sich aus der Ferne in den Raspberry Pi einloggen, geben Sie den Befehl ein:
cd ~/raphael-kit/python
Bemerkung
Wechseln Sie über cd zum Pfad des Codes in diesem Experiment.
Schritt 3: Führen Sie den Code aus
sudo python3 1.1.1_BlinkingLed.py
Bemerkung
Hier bedeutet sudo - Superuser do, und python bedeutet, die Datei mit Python auszuführen.
Nachdem der Code ausgeführt wurde, sehen Sie die blinkende LED.
Schritt 4: Wenn Sie die Code-Datei 1.1.1_BlinkingLed.py bearbeiten möchten,
drücken Sie Ctrl + C, um die Ausführung des Codes zu stoppen. Geben Sie dann
den folgenden Befehl ein, um 1.1.1_BlinkingLed.py zu öffnen:
nano 1.1.1_BlinkingLed.py
Bemerkung
nano ist ein Texteditor-Tool. Mit dem Befehl wird die Code-Datei 1.1.1_BlinkingLed.py mit diesem Tool geöffnet.
Drücken Sie Ctrl+X, um zu beenden. Wenn Sie den Code geändert haben,
erscheint eine Aufforderung, ob Sie die Änderungen speichern möchten oder nicht.
Geben Sie Y (speichern) oder N (nicht speichern) ein.
Drücken Sie dann Enter zum Beenden. Geben Sie erneut nano 1.1.1_BlinkingLed.py ein,
um den Effekt nach der Änderung zu sehen.
Code
Im Folgenden finden Sie den Programmcode:
Bemerkung
Sie können den untenstehenden Code Bearbeiten/Zurücksetzen/Kopieren/Ausführen/Stoppen. Doch bevor Sie dies tun, müssen Sie zum Quellcode-Pfad wie raphael-kit/python gehen. Nachdem Sie den Code modifiziert haben, können Sie ihn direkt ausführen, um das Ergebnis zu sehen.
#!/usr/bin/env python3
import RPi.GPIO as GPIO
import time
LedPin = 17
def setup():
# Set the GPIO modes to BCM Numbering
GPIO.setmode(GPIO.BCM)
# Set LedPin's mode to output,and initial level to High(3.3v)
GPIO.setup(LedPin, GPIO.OUT, initial=GPIO.HIGH)
# Define a main function for main process
def main():
while True:
print ('...LED ON')
# Turn on LED
GPIO.output(LedPin, GPIO.LOW)
time.sleep(0.5)
print ('LED OFF...')
# Turn off LED
GPIO.output(LedPin, 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(LedPin, 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
#!/usr/bin/env python3
Wenn das System dies erkennt, wird es den Installationspfad von
Python in der env-Einstellung suchen und dann den entsprechenden Interpreter aufrufen,
um den Vorgang abzuschließen. Dies verhindert, dass der Benutzer Python nicht im Standardpfad /usr/bin installiert hat.
import RPi.GPIO as GPIO
Auf diese Weise wird die RPi.GPIO-Bibliothek importiert und dann eine Variable, GPIO, definiert, um RPI.GPIO im folgenden Code zu ersetzen.
import time
Time-Paket importieren, für die Zeitverzögerungsfunktion im folgenden Programm.
LedPin = 17
Die LED ist mit dem GPIO17 des T-förmigen Erweiterungsboards verbunden, also BCM 17.
def setup():
GPIO.setmode(GPIO.BCM)
GPIO.setup(LedPin, GPIO.OUT, initial=GPIO.HIGH)
Setze den Modus von LedPin auf Ausgang und das Anfangsniveau auf High (3,3V).
Es gibt zwei Möglichkeiten, die IO-Pins auf einem Raspberry Pi innerhalb von RPi.GPIO zu nummerieren: BOARD-Nummern und BCM-Nummern. In unseren Projekten verwenden wir BCM-Nummern. Sie müssen jeden Kanal, den Sie als Eingang oder Ausgang verwenden, einrichten.
GPIO.output(LedPin, GPIO.LOW)
Setze GPIO17(BCM17) auf 0V (niedriges Niveau). Da die Kathode der LED an GPIO17 angeschlossen ist, leuchtet die LED auf.
time.sleep(0.5)
Verzögerung um 0,5 Sekunden. Hierbei handelt es sich um die Verzögerungsfunktion in der C-Sprache, die Einheit ist Sekunden.
def destroy():
GPIO.cleanup()
Definiere eine Zerstörungsfunktion, um nach Beendigung des Skripts alles aufzuräumen.
if __name__ == '__main__':
setup()
try:
main()
# When 'Ctrl+C' is pressed, the program destroy() will be executed.
except KeyboardInterrupt:
destroy()
Das ist die allgemeine Laufstruktur des Codes. Wenn das Programm zu laufen beginnt,
initialisiert es den Pin durch Ausführung von setup() und führt dann den Code in der
main()-Funktion aus, um den Pin auf hohe und niedrige Niveaus zu setzen. Wenn Ctrl+C gedrückt wird,
wird das Programm destroy() ausgeführt.
Phänomen-Bild