NeoPixel am Calliope
Auch an den Calliope kann man Neopixel anschließen:
- NeoPixel-Ring-Power an Calliope-3V3-Pin
- NeoPixel-Ring-GND an Calliope-GND
- NeoPixel-Data-Input an Calliope-C1
In Makecode geht man dann unter Fortgeschritten - Erweiterungen und wählt dort “neopixel” aus. Man erhält dann zusätzliche Blöcke unter dem Punkt NeoPixel.
Um den Neopixel anzusteuern erzeugt man ein neues Neopixel-Objekt und macht es unter der Variable strip erreichbar. Dabei gibt man den Pin an, an dem der Neopixel angeschlossen ist und die Anzahl der Pixel des Neopixel-Objekts (im Beispiel 12)
let strip = neopixel.create(DigitalPin.P1, 12, NeoPixelMode.RGB)
strip.showColor(neopixel.colors(NeoPixelColors.White))
strip.setBrightness(12)
basic.forever(function on_forever() {
if (input.buttonIsPressed(Button.A)) {
strip.showColor(neopixel.colors(NeoPixelColors.Blue))
}
if (input.buttonIsPressed(Button.B)) {
strip.showColor(neopixel.colors(NeoPixelColors.Red))
}
if (input.buttonIsPressed(Button.AB)) {
strip.showColor(neopixel.colors(NeoPixelColors.Green))
}
})
Man kann z.B.:
- dem ganzen Strip eine bestimmte Farbe zuweisen
- dem Strip einen Regenbogen aus einem Farbspektrum zuweisen
- einzelnen LEDs bestimmte Farben zuweisen
- einen Balkendiagramm anzeigen (Anzahl der Pixel abhängig vom Wert)
- alle Neopixel ausschalten (danach muss noch Anzeigen aufgerufen werden.)
- Verschieben und Rotieren (danach muss noch Anzeigen aufgerufen werden.)
- Helligkeit verändern