Wie kann man mehrere (2 oder 4) LedStrips vom Typ WS2812B mittels .Net Core separat ansteuern?

  • Hallo allerseits und danke für die Aufnahme im Forum

    Ausgangslage:

    Ich möchte 2 Led-Strips vom Typ WS2812B (3-adrig) mit dem Raspi ansteuern.

    Dafür nehme ich die .Net-Core Library Iot.Device.Ws28xx und instanziere mit new Ws2812b(spi, ledCount)

    Ich habe SPI0 sowie SPI1 (dtoverlay) aktiviert und mit MOSI0 sowie MOSI1 verbunden (gemäss https://de.pinout.xyz/ ).

    5V und GND laufen beide über den Raspi, meine Leds haben nur 8 und 20 Pins, somit benötige ich keine externe Stromquelle.

    Ich kann beide Strips separat ansteuern, allerdings funktioniert es nur über SPI0 korrekt.

    Über SPI1 werden die Leds fehlerhaft angezeigt.

    Auf Github gibt es bereits einen offenen Bug, der das Problem beschreibt:

    https://github.com/dotnet/iot/issues/1682

    Irgendwo habe ich gelesen, dass nur SPI0 mit DMA funktioniert, SPI1 aber nicht. Daher verhält sich SPI0 nicht gleich wie SPI1.

    Das erhöhen der ClockFrequency hat nur bedingt geholfen, ab dem Wert 4_600_000 ist die permanente Helligkeit zwar weg, aber es gibt dafür Pixelfehler.

    Frage:

    Wie kann man mehrere (2 oder 4) LedStrips vom Typ WS2812B mittels .Net Core separat ansteuern?

    System:

    uname -a

    raspberrypi 5.15.32-v7+ #1538 SMP Thu Mar 31 19:38:48 BST 2022 armv7l GNU/Linux

    cat /etc/os-release

    PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"

    NAME="Raspbian GNU/Linux"

    VERSION_ID="11"

    VERSION="11 (bullseye)"

    VERSION_CODENAME=bullseye

    ID=raspbian

    ID_LIKE=debian

    HOME_URL="http://www.raspbian.org/"

    SUPPORT_URL="http://www.raspbian.org/RaspbianForums"

    BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

    Danke für die Unterstützung und viele Grüsse

    Raoul

  • Wie kann man mehrere (2 oder 4) LedStrips vom Typ WS2812B mittels .Net Core separat ansteuern?? Schau mal ob du hier fündig wirst!

  • Also ich habe meine WS2812B mit einem ESP angesteuert. Dabei steuere ich auch verschiedene Segmente an - allerdings ist das "nur" Software. Die Segmente sind hintereinander geschaltet und verhalten sich Hardware technisch wie eine Lichterkette. Die verwendete Library ist dafür vorgesehen, dass man mehrere Seqmente definiert...

    Vielleicht ist das für Dich auch ein gangbarer Weg?

    ...wenn Software nicht so hard-ware ;) ...

    Freue mich über jeden like :thumbup:

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!