Mehrere Led-Streifen ansteuern?

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,

    in einem anderen Thread hatte ich schon einmal ähnliches angefragt
    Mehrere Hyperion Instanzen auf einem Raspberry PI

    Hyperion scheint für mich hier aber vermutlich die falsche Wahl zu sein. Ich würde gerne mit einem Raspberry Pi mehrere Led-Streifen unterschiedlich ansteuern. Sehe hier aber keine Möglichkeit, das ganze mit der Hyperion Software zu realisieren.

    Vorteil bei der Hyperion Software war bislang die AndroidApp bei der ich diverse Geräte auswählen knnte und entsprechend die Farben umstellen konnte. Jedoch benötige ich somit für JEDEN Led streifen einen Raspberry Pi (vorzugsweise Zero).

    Gibt es eine alternative Software, bei der ich mehrere Streifen getrennt von einander gesteuert nutzen kann? Derzeitiger Stand wäre, dass ich das ganze komplett selber zusammenschreiben müsste. Ich würde das ganze in C und SoftwareSPI schreiben. Jedoch sehe ich da sehr viel arbeit drin, die Anbindung einer App zu programmieren. In C (Hauptsächlich Atmel AVR) kenne ich mich sehr gut aus. In anderen Programmiersprachen (C#, C++, Java) besitze ich nur einfachste Grundkenntnisse.

  • moin...

    also deine Kernfrage kann ich leider nicht genau beantworten, aber ich glaube das kann hyperion nicht.
    Du könntst aber microcrontroller wie den esp, oder einen arduino dazwischen schalten, damit wäre das kein Problem.

    Grade wenn du sagst das du dich C gut auskennst schau dir mal den Sketch von Scilor an, grundsätzlich funktioniert das über WLAN wirklich gut.

  • Hallo BooStar,

    ja mit den weiteren µC hatte ich mir auch schon einmal gedacht. Ich hätte noch eine große Anzahl an Attiny841 die ich noch aus anderen Projekten über hab.

    Wenn ich das mit dem Scilor richtig verstehe, gibt dieser lediglich auch nur den Stream der ersten Instanz wieder. Das wäre dann identisch mit dem, dass ich die Daten und Clock Leitungen der APA102 parallel lege.

  • Also hört sich das mit dem ESP schon nicht ganz verkehrt an, würde aber gerne auf diesen verzichten. Die Leds sollen alle Zentral mit Strom versorgt werden. Es geht hier um eine TV Wohnwand und unterschiedlichen Ebenen.

    Ich habe mir nun mal die neue HyperCon heruntergeladen und geschaut, wass es da Ausgabe Möglichkeiten gibt.
    SPI fällt hier schon einmal raus, der Zero hat nur eine SPI Schnittstelle, oder hat hier jemand schon versucht, das ganze mit einem Multiplexer zu erweitern?

    Unter Punkt Other und 3rd Party sind diverse andere noch gelistet. Kann einer davon ggf. mit den Attinys kommunizieren?? UDP und USB schließe ich hier aus.

  • So,

    mein aktueller Stand sieht so aus, dass eine Weiterleitung nur über UDP zu funktionieren scheint. Ist etwas ärgerlich, wollte das eigentlich vermeiden, da alle Leds in unmittelbarer näher sich befunden hätten.
    Kabelverlegung erspare ich mir damit auch leider nicht

  • Sag mal... was genau meinst du mit:

    Zitat

    Ich würde gerne mit einem Raspberry Pi mehrere Led-Streifen unterschiedlich ansteuern

    ?


    Ich frage deshalb, weil du ja evtl. Effekte nutzen kannst um die Streifen unterschiedlich zu steuern...
    Dann könntest du die Streifen alle in eine Reihe hängen....

  • Hallo BooStar.

    In Reihe möchte ich die Leds nicht hängen, da dies einen erhöhten Verkabelungsaufwand bedeuten würde. Die Leds werden aus der Mitte heraus sternförmig verlegt. Über die Hyperion App sollten dann alle Stripes einzeln ausgewählt werden. Das geht soweit bekannt auch. So funktioniert das zumindest mit den ESP. Der Raspberry schickt dann unter den anderen Instanzen lediglich die Infos weiter an die ESP.
    Optional die Farbe für alle Stripes gleich setzen. Aber das muss nicht.

    Hab mir das ganze in etwa so gedacht. Ich habe 2 "Chip Enables". Das können beliebige GPIOs sein. Damit könnte ich den Clock sowie DataOut auf insgesamt 4 Geräte aufteilen. Größere Multiplexer wären auch möglich. Fraglich aber ob die dann noch schnell genug sind.

    Nun müsste in jeder Instanz von Hyperion noch zusätzllich die ChipEnables gesetzt werden. Dabei muss aber irgendwie ausgeschlossen werden, dass sich die gegenseitig behindern können.

  • Die Geschwindigkeit sollte auf jeden Fall schnell genug sein , würde ich selber gerne ausprobieren!
    Ich weiß jedoch "noch" nicht wie es sich mit der Software verhält, also das Hyperion weiß Daten jetzt an Gpio 15 etc...

    Wenn du die Configs von Hyperion so anpasst, dass die Ports passen :
    Stripe 1 1940/ 1950
    Stripe 2 1960 1970
    Stripe 3 1980 1990
    Etc...
    Automatisch zusammengefügt:
    Außerdem würde mich interessieren wie man das mit den Chips enable hinbekommt

    Wenn's brennt 112 hilft weiter!

    Einmal editiert, zuletzt von raspbastler (5. Oktober 2016 um 16:53)

  • Vielleicht konntest du mir auch mal deine Schaltung erläutern! Mich interessiert dein Thema momentan echt brennend:)

    Bräuchte nämlich so etwas ähnliches, für die Adventszeit;) Werde mich auch mal schlau machen, wie man das Spi Interface Multiplexen kann!
    Des Pi's versteht sich!?!

    Meine Idee:
    Spi Interface des Pis -- Multiplexer = 4/8 differenzierte Spi interfaces -- Led Stripe -- Jeder Led Stripe einzeln per App ansteuerbar =)

    Ist das nun dein Plan ? Oder möchtest du es über dir Esp machen! Ich fände es besser wenn ALLES ein PI macht!

    Meine Frage ist nun, wie bringen wir Hyperion bei, das es nun mehrere Stripes gibt also auch verschiedene Outputs ! Mehrere Configs laufen zu lassen ist nicht das Problem. Sondern die Outputs (meiner Meinung nach). Mal sehen, was draus wird?!?


    Sobald ich etwas neues finde melde ich mich!

    Mfg

    Wenn's brennt 112 hilft weiter!

    Einmal editiert, zuletzt von raspbastler (5. Oktober 2016 um 22:52)

  • Ich habe etwas neues gefunden:D
    https://hyperion-project.org/wiki/3-Wire-PWM

    PWM basierende Stripes, der Pi Besitzt mehrere PWM Pins , außerdem kann man den Gpio Output festlegen! Somit könnte man aus einem Signal 4 machen. Leider haben dann alle die Selbe Farbe die an einem Pin sind!:(

    Jedoch könnten wir dadurch "Zonen" bilden womit wir schon wieder einen Schritt näher am Ziel wären;)

    Wenn's brennt 112 hilft weiter!


  • Wieso multiplexer nutzen wenns nen esp01 kann...oder nen wemos...2,36€
    https://www.aliexpress.com/item/D1-mini-M…9a-67419f937a05

    Weil man mehrere Systeme aktuell halten muss, unnötig viel durch die Wohnung gefunkt wird ....


    Also ich habe nun 2 NodeMcu mir zukommen lassen, um das ganze einmal über Wifi zu testen. Aber das soll nicht meine Lösung später sein. Mein Netzteil befindet sich zentral. Vom Raspberry Zero soll alles gemanaged werden. Wenn dann soll der Zero später im Netzwerk alleine hängen, Ethernet oder Wifi ist noch nicht fix. Wobei es eher die Kabellösung sein wird.


    Infos zur Schaltung:
    Das ist erst einmal nur mein Grundgedanke/Idee. Wie sich das verwirklichen kann, ist noch nicht sicher.

    Es handelt sich hier um eine recht einfache Schaltung mit dem HC(T)139. In dem Gehäuse, welches bei zB Reichelt für gute 20c zu bekommen ist im DIP und SMD Package, befinden sich 2 Decoder/Demultiplexer. Das ist für unser Vorhaben von Vorteil. Somit können wir für alle Kanäle den Takt und die Daten komplett trennen. "G" ist jeweils das Eingangssignal, was an die Streifen weitergeleitet werden soll. Für ADDR_A und ADDR_B müsste ggf. auch noch ein Pegelwandler dran, da ich das IC mit 5V speise. Möchte mir damit diverse Pullups/Pegelwandler an den Ausgngen ersparen. Das ganze kann dann auch noch weiter kaskadiert werden mit weiteren ICs. Habe aber soweit ich weiß leider keine 139er in meinen Kisten, müsste mir noch ein paar bei Reichelt bestelleen.

    Einmal editiert, zuletzt von sschultewolter (6. Oktober 2016 um 19:26)

  • Die Schaltung habe ich soweit verstanden, jedoch bezweifele ich, dass du Hyperion so eingerichtet bekommst mit den Multiplexer.
    Ich habe mir auch mal einen Node bestellt. Mal sehen;)

    Wenn's brennt 112 hilft weiter!

  • Hallo,

    habe das ganze mal am Wochenende mit den NodeMCU getestet. Bin ich nicht von überzeugt. Nun würde ich gern erst einmal 2 Led Streifen mit dem Raspberry Zero ansteuern.
    Gesehen, Hyperion Conf unterstützt Chip Enable.

    Leider haben die APAs selber einen Chip Select o.ä.
    Nun war meine Idee, dass ganze mit einem Logikgatter auf einer PCB zu versehen.
    Wenn CE0 aktiv, dann schalte MOSI und SCK für Led1, wenn CE1 aktiv dann schalte MOSI und SCK für Led2.

    Das ganze möchte ich mit einem 74HCT08 o.ä, erledigen. Der CE0/CE1 schaltet damit den entsprechenden Stream frei. Nun aber paar Fragen. Was passiert, wenn beide Instanzen gleichzeitig funken wollen. Managed das die SPI Schnittstelle automatisch mit einem Buffer?

    Eine weitere Frage zum Verhalten der APA102. Wenn die Spannungsquelle und Zero zuvor auswahren, fangen diese beim wiederherstellen der Versorungssannung an zu leuchten, oder erst wenn Daten wieder über SCK und MOSI gesendet werden?

    Hintergrund ist, ich möchte nicht, dass die Leds ein zufälliges Muster anzeigen wenn der Zero hochfährt. Macht es alternativ eher Sinn, GND über einen Logik N-Channel Mosfet abzuschalten und erst mit dem Start der Instanz aktiv zu schalten?

  • Moin,

    Du scheinst ja schon richtig weitergekommen sein! Ich möchte jedoch gerne wissen, wie du das mit der Hyperion Config hinbekommen möchtest?!? Also mit dem Chpis Enable! Sowie eine Erläuterung der Schaltung (Schaltplan wäre sehr intressant! )

    Zu deiner Frage mit den APAs102:

    Wenn du die APAs mit dem Pi und GND verbindest, sollten diese aus bleiben, ist bei jedenfalls so! Ich weiß jedoch nicht, ob dies auch beim Hochfahren des Pi gilt!

    PS: Super das du dich da so anagierst!

    mfg

    Wenn's brennt 112 hilft weiter!

  • Hallo raspbastler,

    ich bin mit dem Projekt theoretisch schon etwas vorangeschritten. Wenn es alles so klappt wie auf dem Papier, so ist möglich mehrere Streifen anzusteuern. Habe die nächsten Tage aber noch viel zu tun. Hoffe das ich diese Woche den ersten Test soweit zusammenbauen kann zum testen. Werde dann hier berichten.

Jetzt mitmachen!

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