Link

Lektion 13 - Neopixel

Hardware

MakeCode Erweiterung

In dieser Lektion wollen wir spezielle LEDs zum leuchten bringen. Das Spezielle an diesen LEDs ist, dass eine einzelne LED sowohl rot als auch grün als auch blau leuchten kann. Durch Mischung der drei Grundfarben kann jede beliebige Farbe erzeugt werden, ähnlich wie bei einem Farbmalkasten. Diese LED sind unter dem Namen Neopixel bekannt.

Ziel der Lektion ist es ein einzelnes Neopixel oder einen Streifen von mehreren Neopixeln in den Regenbogenfarben leuchten zu lassen. Dazu wird jedes Pixel nach und nach mit einer anderen Farbe zum leuchten gebracht. Hat ein Pixel alle Farben einmal angezeigt, beginnen wir von vorne.

MakeCode-Erweiterung

Um Neopixel verwenden zu können, musst Du zunächst Deinen Makecode Editor um die Neopixel Bibliothek erweitern.

Wähle dazu unter dem Block Fortgeschritten den Punkt Erweiterungen und suche anschließend nach der Adafruit Neopixel Bibliothek. Füge diese dem Makecode Editor hinzu. Dadurch erhälst Du einen weiteren Block.

Über diesen neuen Block kannst Du nun Neopixel-LEDs steuern.

Anschlüsse

Schließe nun eine Neopixel-LED mit drei Krokodilklemmen an Deinen Micro:Bit an. Dabei ist es egal, ob es sich um einen Neopixel-Stick oder eine einzelne Neopixel-LED handelt, die Anschlussart ist gleich.

Für diese Lektion benötigen wir nur drei “Beinchen”, die wie folgt angeschlossen werden.

 Neopixel Micro:Bit Erklärung
DIN  P2 Steuerleitung
VDD 3V  Spannungsversorgung (3V-7V)
GND  GND  Masseleitung

Anleitung

Verwende den beim Start Block um beim Einschalten oder Zurücksetzen des Micro:Bit die Neopixel Bibliothek zu initialisieren, d.h. festzulegen, wieviele Pixel (Anzahl LED) Dein Neopixel hat, an welchem Anschluss Du diesen per Krokodilklemme angeklemmt hast und welche Farben die einzelnen LEDs verwenden können. Verwende zusätzlich den Block zeige Regenbogen von Farbton, der dafür sorgt dass die einzelnen Pixel mit unterschiedlichen Farben belegt werden. Damit die Anzeige aktuallisiert wird, benötigst Du zusätzlich den anzeigen Block.

Erstelle zusätzlich eine Endlosschleife (Block dauerhaft) in der Du die Pixel um jeweils 1 rotierst, die Anzeige aktuallisierst und dann eine Pause von 500 ms machst.

Blocks

So könnte Dein Programm aussehen.

Ergebnis (Simulation)

Javascript-Code

    
let item: neopixel.Strip = null
item = neopixel.create(DigitalPin.P0, 8, NeoPixelMode.RGBW)
item.showRainbow(1, 360)
item.show()
basic.pause(500)
basic.forever(function () {
    item.rotate(1)
    item.show()
    basic.pause(500)
})

Makecode Projekt

Lektion 13 (Neopixel) als Makecode-Projekt