Mehrere i2c 7 Segment an einem Arduino

Ich habe mehrere dieser Module:

Ich vermute mal, das diese kaskadierbar sind. Leider habe ich keine Anleitung gefunden wie das gemacht wird. Kann ich sie einfach hintereinander schalten und wenn ich mehr als 8 Zeichen ausgeben will, werden diese automatisch auf dem nächsten Display dargestellt? Oder muss ich jedes Display separat adressieren?

Peter

Keine Doku gefunden und zu faul auf die Rückseite zu schauen...

Also:
Schmeiße sie weg, die Dinger.

Auch gerne in meine Richtung.

Tipp:
Die lustigen Zeichen auf der Vorderseite sind keine Krähenfußabdrücke oder Verzierungen, sondern Buchstaben, Zahlen und Sonderzeichen.
Diese könnten einen zu einer Doku führen.
Schade, dass sie hier ihren Sinn und Zweck nicht erfüllen konnten.

(deleted)

Skino:
Ich habe mehrere dieser Module:

Ich vermute mal, das diese kaskadierbar sind. Leider habe ich keine Anleitung gefunden wie das gemacht wird. Kann ich sie einfach hintereinander schalten und wenn ich mehr als 8 Zeichen ausgeben will, werden diese automatisch auf dem nächsten Display dargestellt? Oder muss ich jedes Display separat adressieren?

Peter

Ob die I2C haben, kann ich so nicht bestätigen.
Oben auf dem Board steht SPI, hat erst mal nix mit I2C zu tun.

Hallo,

wollte ich auch feststellen, dass es sich um SPI handelt statt I2C. An Hand der Beschriftung gibts DOUT, was man mit dem nächsten DIN verbindet. Stichwort Daisychain. Interessant wäre allerdings zu wissen welcher Chip hinten drauf sitzt?

Wobei ich zur Kaskadierung bei dem Modul noch eins sagen möchte. Vom mechanischen Aufbau her völlig daneben. Wie soll man die anreihen? Es klaffen große Lücken zwischen den Modulen und schon die 2 aufgelöteten Anzeigen sitzen nicht sauber zusammen.

Doc_Arduino:
Interessant wäre allerdings zu wissen welcher Chip hinten drauf sitzt?

Wobei ich zur Kaskadierung bei dem Modul noch eins sagen möchte. Vom mechanischen Aufbau her völlig daneben. Wie soll man die anreihen? Es klaffen große Lücken zwischen den Modulen und schon die 2 aufgelöteten Anzeigen sitzen nicht sauber zusammen.

Da ist ein max7219 drauf.
Das Teil entspricht dem hier: LED 7 Segment Display MAX7219 SPI 5V Anzeige Modul Arduino Raspberry - MAKERSHOP.DE

EDIT meint: Hier das Original. Webadresse steht ja auf dem Modul.

incl. Schaltplan und Code mit Link zur lib.

Der SPI-Port ist durchgeschliffen.

OP:
Kaskadieren ja - benötigt einen weiteren Arduinopin für CS.
Ohne Abstand aneinander reihen nein.

Hallo,

Danke fürs raussuchen. Mit MAX72xx wirds einfach.

Eine Anmerkung. Wenn die Daten durchgeschleift werden, werden keine zusätzlichen CS Pins benötigt. Man muss nur immer den gesamten Bitstrom komplett durchschieben. Man kann die Module dann nicht gezielt ansprechen. Kommt am Ende nur darauf wie man seine Daten aufbereitet und rausgeben möchte. Beides Varianten haben Vor- und Nachteile.

Danke sehr.

Ich will die einzelnen Module nicht einzeln ansprechen, ist nicht nötig.
Ich kann die Daten, die vom PC über USB kommen entsprechend aufbereiten.

Werde mich mal dran machen.

Danke für eure Hilfe.

Peter

Das sind keine I2C Displays sonder SPI (ähnlich). Wenn da auf der Rückseite wirklich ein MAX7219 ist - bessere bitte den Betreff deines ersten Posts aus.

Es gibt drei Varianten:
die LedControl Library von Eberhard Fahle über die Arduino-IDE,
Eine Lib vom User HKJ-lygte hier im Forum.
und eine von mir

Wenig überraschender Weise gefällt mir meine am Besten. Für deinen Anwendungsfall soll sie gut sein: du kannst mit der Lib sehr einfach mehr als 8 Zeichen auch Modul-überschneidend ausgeben (3 habe ich selber getestet).

Danke. Ja, es sind MAX7219. Ich arbeite im Moment nach dieser Anleitung:

Als Bibliothek nutze ich HCMAX7219. Das klappt bis auf 2 Probleme ganz gut und die liegen sicher an meinen geringen Arduio Kenntnissen.

Ich werde mir deine Bibliothek mal ansehen ob ich damit klar komme. Sieht auf der Seite so als wäre es für mich perfekt. Eine Frage hätte ich (und das ist ein Problem der anderen Bibliothek): Wie geht deine Lösung mit Dezimalpunkten um? Wenn ich jetzt 43.66 darstellen lasse wird dem Dezimalpunkt eine eigene Anzeigestelle eingeräumt. Der Punkt ist also nicht mit auf der Anzeige wo die 3 ist sondern auf einer leeren. Ich kann die Position des Dezimalpunktes über einen Offset angeben und ändern aber das ist unbequem, ich muss den Dezimalpunkt aus meinem Programm rausnehmen und ich habe es nicht hinbekommen, den Punkt je nach Erfordernis an anderer Stelle auf den 8 Ziffern darzustellen.
Ich sende über ein VB Programm und die USB Schnittstelle Zahlen an den Arduino und möchte diese möglichst flexibel auf den 7 Segment darstellen.

bei mir machst einfach ein

lc.print(43.66);

und der Punkt beim 3er wird aktiviert.

oder auch
lc.print("dAS IST EIn SATZ.");

dann aktiviert er den Punkt zum Z.

Ich schreibe aber genau zum Thema Punkte eigentlich auch was auf der Seite ...

Super, das klingt gut. Vielen Dank.
Das mit den Punkten habe ich auf deiner Seite gelesen aber nicht wirklich verstanden. Du schreibst davon, sie in einem Array zu speichern...

Aber "lc.print(43.66);" ist perfekt für mich!!!

Ich werde morgen mal das ganze mit deiner Software probieren. Habe sie gerade installiert.
Da kommen bestimmt noch Fragen auf dich zu.

Hallo,

ich sehe nur noch Beiträge bis #11. Wo ist der Rest hin?
Uwe, was ist hier passiert?
Welcher Split wohin?

Weiß nicht wo er war. Jetzt ist der abgespaltete Teil sichtbar.
Grüße Uwe

Hallo Uwe,

dann hatte sich wohl das Internet verschluckt. Gut, dann kannste ab #12 hier wieder löschen. :slight_smile:
Danke.