Max7219 und Neopixel-Panel

Hallo Leute!
Ist es möglich die Infomationen die von einem Arduino über die 3 Datenleitungen (DIN,CS,CLK) ausgegeben werden in einem Neopixel Panel dastellen zu lassen?
Quelle der Info ist dieser Aufbau 7-Segment Display with MobiFlight, Arduino and FSUIPC Offset
Oder kann man das auch über einen weiteren Arduino, der die Information dann aufbereitet (anpasst), “leiten”?
Danke
Gruss Peter

im Prinzip ja. Aber sicher nicht einfach und es braucht vermutlich einiges an Erfahrung mit SPI Kommunikation.
Aber wozu das Pferd von hinten aufzäumen.
Warum willst du nicht den Arduino direkt auf ein Neopixel Panel ausgeben lassen?

Hallo! Das Arduino hat ein spezielles Sketch drauf.
https://www.mobiflight.com/en/tutorials/seven-segment-display.html
Und dort gibt es halt keine Export mit entsprechenden Infos.
Gruss Peter

dann halt den Ersteller des geschlossenen Sketches kontaktieren/ersuchen/bezahlen eine weitere Variante aufzunehmen.

Hallo das habe ich bereits im Vorfeld gescheckt!
Ist für ihn (Programmierer) viel arbeit deshalb kaum machbar, leider.
Bleibt nur selbst was zu entwickeln.
Ist halt die Frage ob das geht?
Gruss Peter

Auch ich sehe es einfacher die Ausgabefunktion die Daten über SPi an den MAX7219 so zu ändern damit die Daten anders ausgegeben werden. Anderseits ist aufzupassen ob die Ansteuerung der Neopixel nicht zuviel Zeit braucht und somit den Sketch durcheinander bringt.
Die Datenübertragung von 8 Byte zum MAX7219 dauert einige mS. Die Datenübertragung der Neopixel dauert ca 50mS Anfangsimpuls und dann je 1,25mS pro Neopixel. Aus Timinggründen ist während der Datenausgabe der Interrupt gesperrt.

Grüße Uwe

Da bin ich mal optimistisch, denn was zum Max7219 geschickt wird, ist ja bekannt und entspricht den Daten zu einem Schieberegister. Ich sehe zwei Probleme:

  1. SPI.h für z. B. den UNO sieht keinen Slave-Modus vor, weshalb man sich dann mit SPCR |= _BV(SPE); behelfen muß (How to use SPI (Serial Peripheral Interface) in Arduino to Communication between two Arduino Boards oder auch How to make an SPI slave). Hier wäre zu klären, ob es eine bessere Bibliothek oder einen anderen µC mit einer besseren Bibliothek gibt, die SPI-Slave unterstützt.
  2. Wegen der von Uwe beschriebenen Timing-Probleme mit NeoPixeln benötigst Du einen anderen Pixeltyp (z. B. APA102 mit Takt- und Datenpin getrennt) oder einen zweiten Arduino nur für die Anzeige. Kommunikation zwischen Arduino 1 und Arduino 2 dann mittels I2C oder UART.

Die Umsetzung der Bitmuster in lesbare Zeichen ist dann “nur” noch Software, nicht einfach aber machbar.

So meine Einschätzung.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.