4.1 Projekt: Beleuchtungssystem
Beginnen wir unser erstes Projekt, das Beleuchtungssystem.
Das Einschalten einer LED ist eine der grundlegendsten KidsBlock-Übungen.
Diese Einführungslektion wurde für Anfänger entwickelt, um Hardware- und Softwareprogrammierung auf dem ESP32-Entwicklungsboard zu verstehen und grundlegende Schaltungs- und Programmierkenntnisse zu erlernen.

Daher ist unsere Tutorial-Anleitung einfach. Und dieses faszinierende Projekt kann in tatsächlichen Szenarien zu Hause oder im Büro angewendet werden.
In diesem Projekt haben Sie die grundlegenden Verbindungen und Einstellungen des ESP32-Entwicklungsboards in der grafischen KidsBlock-Programmierung kennengelernt. Darüber hinaus werden Ihnen einige Funktionen vorgestellt, wie z.B. das Ein-/Ausschalten einer LED über den Ausgangspegel eines digitalen Pins oder über einen Taster.
Alles in allem ist dies ein Einsteiger-Tutorial, um die Grundlage für nachfolgende KidsBlock-Programmierübungen zu legen.
4.1.1 Flussdiagramm

4.1.2 Eine LED zum Leuchten bringen
Beschreibung:
LED, kurz für Light Emitting Diode, ist ein Festkörperhalbleiter, der elektrische Energie in sichtbares Licht umwandelt, daher wird sie auch als Festkörperbeleuchtung bezeichnet.
Wenn Strom durch eine LED fließt, leuchtet sie auf.
Verschiedene LEDs:

Das LED-Modul ist ein Ausgabegerät, dessen Helligkeit und Blinken gesteuert werden können. Für die Verwendung müssen Sie es nur direkt in die digitalen Ausgangspins des Entwicklungsboards stecken.

Funktionsprinzip:
Wenn S auf hohem Pegel ist, leitet der Q1-Transistor, und die VCC-Spannung fließt durch die LED, um sie zum Leuchten zu bringen.

Parameter:
Spannung: 3~5V
Strom: ≤1.5mA
Leistung: 0.07W
Schaltplan:
Verbinden Sie das LED-Modul mit io27.
Achtung: Verbinden Sie Gelb mit S (Signal), Rot mit V (Strom) und Schwarz mit GND. Vertauschen Sie diese nicht!

Testcode:
Öffnen Sie Kidsblock und wählen Sie das richtige Gerät und den richtigen Port aus.

Ziehen Sie
von
in den Codebearbeitungsbereich. Codeblöcke werden nur ausgeführt, wenn sie sich in diesem Bereich befinden.

Mit diesem Block wird der Code beim Booten des Entwicklungsboards ausgeführt.

Ziehen Sie in
„ forever “ und fügen Sie es unter dem vorherigen Block ein. Der Block „forever“ zeigt eine Schleife an.

Ziehen Sie einen Block „LED pin output“ von
und fügen Sie ihn in „ forever “ ein. Stellen Sie den Pin auf IO27 und den Ausgangspegel auf HIGH ein, sodass der LED-Pin weiterhin einen hohen Pegel ausgibt.


Fügen Sie eine Verzögerung von 1s hinzu. Duplizieren Sie den Block „LED pin output“, stellen Sie den Ausgang jedoch auf LOW ein und fügen Sie ebenfalls eine Verzögerung hinzu. Dann leuchtet die LED auf und erlischt im Kreislauf.

Testergebnis:
Die LED blinkt pro Sekunde, da io27 auf dem ESP32-Board abwechselnd jede Sekunde einen hohen und niedrigen Pegel ausgibt. Außerdem können verschiedene interaktive Anwendungen über eine LED realisiert werden, wie z.B. atmende LED, Wasserflusslichter und blinkendes Polizeilicht.
Leistungspegel |
Ergebnis |
|---|---|
HIGH |
LED an |
LOW |
LED aus |
Erweiterung: Atmende LED
Beschreibung:
Die IO-Schnittstellen von MCUs (wie ESP32) geben nur digitale Signale (hoher oder niedriger Pegel) aus. Zum Beispiel waren in früheren Experimenten (eine LED zum Leuchten bringen) die digitalen Ausgänge nur HIGH (3,3 V) und LOW (0 V).
Wenn die MCU einen hohen Pegel von 3,3 V oder einen niedrigen Pegel von 0 V ausgibt, sollte die Eingangsspannung zwischen 0 und 3,3 V liegen. Daher ist PWM (Pulsweitenmodulation) erforderlich, um verschiedene Spannungswerte auszugeben, was als “analoger Ausgang” bezeichnet wird.

Wissen:
Was ist PWM?
PWM enthält drei Elemente: Frequenz (Hz), Periode, Tastverhältnis (%).
PWM-Frequenz (f): Die Häufigkeit, mit der das Signal innerhalb einer Sekunde von hoch nach niedrig und wieder nach hoch wechselt. Im Allgemeinen ist die Frequenz die Anzahl der PWM-Perioden pro Sekunde.
PWM-Periode (T): Periode = 1 / Frequenz (T=1/f, und 1 bedeutet 1 Sekunde). Zum Beispiel: f = 50Hz, also T = 20ms, was bedeutet, dass es 50 Perioden pro Sekunde gibt.
PWM-Tastverhältnis: Das Zeitverhältnis von HIGH zur gesamten Periode. Wenn die Periode = 10ms und die Impulsbreite 8ms beträgt, nimmt der niedrige Pegel 2ms ein, also beträgt das Tastverhältnis = 8/(8+2) = 80%.

Fazit: Bei einer geeigneten Signalfrequenz ändert PWM die effektive Ausgangsspannung, indem es das Tastverhältnis in einer Periode ändert. Einfach ausgedrückt: Innerhalb einer bestimmten Zeit, je mehr hoher Pegel der IO-Port ausgibt, desto größer ist der PWM-Wert und desto heller wird die LED sein.

Testcode:

Definieren Sie eine Variable item und weisen Sie ihr 0 zu.

Ziehen Sie einen „forever“-Block und fügen Sie einen „repeat“-Block darin ein. Stellen Sie die Wiederholungszeiten auf 255 ein.

Ziehen Sie einen „variable mode“-Block in „repeat“ und stellen Sie den Modus auf „ ++ “ ein, was bedeutet, dass item nach jeder Ausführung um 1 erhöht wird.

Suchen Sie den Block zum Einstellen von PWM, der in
enthalten ist, wie
unten gezeigt, sodass Sie nur den entsprechenden Pin und den analogen Wert einstellen müssen, um
PWM auszugeben.

LED-Pin einstellen:

Kanal einstellen: (insgesamt 16 Kanäle: einschließlich 0~15)

Stellen Sie den PWM-Ausgangswert auf item ein, der automatisch von 0 auf 255 erhöht wird. Der PWM-Ausgang ist 0~255, daher stellen wir die Wiederholungszeiten auf 255 ein.

Fügen Sie eine Verzögerung von 0,01s hinzu, damit die LED allmählich und nicht plötzlich aufleuchtet.

Duplizieren Sie den „repeat“-Block wie folgt, stellen Sie den Modus jedoch auf „--“ ein, wodurch die Variable item jedes Mal verringert wird. Und die LED wird allmäh