Lauflicht
Nach all der Theorie bauen wir als abschließendes Beispiel ein einfaches Lauflicht auf. Es soll aus acht LEDs bestehen, und das Licht soll hin- und herwandern. Dafür empfiehlt sich der ESP32, weil er über acht GPIOs direkt nebeneinander verfügt und Sie das Lauflicht dementsprechend mit einer LED-Balkenanzeige [9] umsetzen können. Als Vorwiderstände für die LED setzen Sie ein Widerstandsnetzwerk ein. Alles zusammen zeigt Abbildung 1.
Listing 3 enthält den passenden Programmcode. Als Erstes definieren Sie wie in der dritten Zeile eine Liste mit den Pin-Nummern der LEDs, die Sie daraufhin als Output festlegen. Die zwei folgenden Schleifen (Zeilen 7 und 11) lassen jeweils eine neue LED aufleuchten und löschen den Vorgänger. Durch geschickt gewählte Parameter für die Funktion range() klappt alles wunschgemäß.
Listing 3
Lauflicht
from machine import Pin
from time import sleep
PINS = [19,18,5,17,16,4,0,2]
LEDS = []
for i in range(8): LEDS.append(Pin(PINS[i],Pin.OUT))
while True:
for i in range(1,8,1):
LEDS[i].value(1)
LEDS[(i-1)].value(0)
sleep(0.1)
for i in range(6,-1,-1):
LEDS[i].value(1)
LEDS[(i+1)].value(0)
sleep(0.1)
Fazit und Ausblick
Mit MicroPython führen Sie problemlos Code-identische Programme auf unterschiedlichen Mikrocontrollern aus. Mu als Editor lässt sich kinderleicht bedienen. Im nächsten Teil der Artikelserie beschäftigen wir uns mit analoger Ein- und Ausgabe. (csi)
Der Autor
Martin Mohr hat die komplette Entwicklung der modernen Computertechnik live miterlebt. Nach dem Studium schrieb er überwiegend Java-Applikationen. Mit dem Raspberry Pi erwachte seine alte Liebe zur Elektronik wieder.
Infos
- Mu-Editor Homepage: https://codewith.mu
- Workshop MicroPython (Teil 1): Martin Mohr, “Kleine Schlange, Langversion”, RPG 03/2024, S. 10, https://www.raspi-geek.de/48868
- ESP32 Development Board: https://www.az-delivery.de/products/esp32-developmentboard
- Breadboard: https://www.az-delivery.de/products/breadboard
- RGB-LED: https://www.amazon.de/Multicolor-LED-Dioden-Gemeinsame-Elektronikkomponenten-Leuchtdioden/dp/B01CI6EWQ6/
- MicroPython für ESP32: https://micropython.org/download/ESP32_GENERIC/
- Raspberry Pi Pico: https://buyzero.de/products/raspberry-pi-pico-w-h-konfigurator-pico-pico-w-pico-h-pico-wh
- MicroPython für Pico: https://micropython.org/download/RPI_PICO/
- LED-Balkenanzeige: https://www.amazon.de/Lon0167-Segment-LED-Balkenanzeige-Digital-10x20mm/dp/B09FGY5JNP/





