2 Schieberegister mit 8x8 Matrix

Hallo,

heute bitte ich um Hilfe bei Schieberegistern. Offensichtlich mache ich hier etwas falsch.
Mein Vorhaben ist 12 Sternzeichen an einer Uhr als 8x8 Matrix (selbstgebaut) auszugeben.
Mein Versuch über die 64 Felder des Puffers das Zeichen auszugeben klappt leider nicht. Laut Überprüfung mit dem Befehl: Serial.println(bit); Zeile 95 werden aber die richtigen Bits ausgegeben.
Als Vorlage diente mir folgender Link: hblok.net

Die momentane Ausgabe am Diodenfeld alle 2sek eine Reihe weiter ist:
00010000
00001000
00000100
00000010
00000001
10000000
01000000
00100000

Kann hier jemand helfen?

Tschüß
der Lokgeist

Schiebe595-UhrSternzeichen2.ino (1.9 KB)

Schaltplan?

Hallo,

hier nun der Schaltplan.

Tschüß
der Lokgeist

Ich glaube nicht, daß eine LED mit ca 0,3mA wesentlich sichbar leuchtet, zumal Du noch multiplext.

Du brauchst kleinere Vorwiderstände ( zB 1kOhm) und an der Kathode Transistoren oder ein ULN2803.
Grüße Uwe

Habe gleich mal 3 ULN2803 bestelt.

der Lokgeist

Wenn Du für den unteren '595 einen TPIC6B595 verwendest, kannst Du Dir extra Treiber sparen. AFAIR sind beide pinkompatibel.

DrDiettrich:
Wenn Du für den unteren '595 einen TPIC6B595 verwendest, kannst Du Dir extra Treiber sparen. AFAIR sind beide pinkompatibel.

Nein, sind sie nicht. TPIC6B595 ist ein DIP20, die 74hc595 sind DIP16. Auch Die Pinbelegung ist anders.
Siehe http://www.ti.com/lit/ds/symlink/tpic6b595.pdf
und https://www.sparkfun.com/datasheets/IC/SN74HC595.pdf

Trotzdem ein guter Tipp, wobei auch die 74HC595 eigentlich genug Strom liefern können, um LEDs zu treiben, vor allem beim Multiplexen.

Mario.

mkl0815:
Trotzdem ein guter Tipp, wobei auch die 74HC595 eigentlich genug Strom liefern können, um LEDs zu treiben, vor allem beim Multiplexen.

Der max Strom ist auf 70mA für alle Pins zusammen spezifiziert.
Das sind weniger als 10mA pro LEd und da in multiplexing eine LED nur 1/8 der Zeit leuchtet ist sie mit dem Auge so hell wie eine LED mit ca 1mA betrieben.
Grüße Uwe

Hallo,

seit gestern abend werden meine Sternzeichen angezeigt so wie ich es haben will. Ich habe alles noch einmal von vorne angefangen und die Vorgehensweise etwas geändert.
Die Vorwiderstände habe ich auf den Rat von Uwe auf 1kOhm gesenkt und so sind die Dioden genau richtig in ihrer Helligkeit.
Den neuen Sketch und ein kurzes Video habe ich mal noch beigefügt.
Und da giebt es nun noch ein kleines Problem welches ich eventuel noch mit eurer Hilfe lösen könnte.
Wie im Video zu sehen brennen die brennenden Dioden eine Reihe tiefer auch noch mal. Das aber nur schwach und nicht so stark wie im Video zu sehen ist.
Tausche ich die latch Zeilen 61 und 62 so brennen dafür die oberen Dioden auch noch schwach.
Giebt es da eventuell eine Lösung?

Tschüß
der Lokgeist

Ps. Ich bekomme das Video leider nicht gesendet. Weder im 3pg handyformat noch mpg.

Schiebe595-UhrSternzeichenLSBFIRST.ino (2.12 KB)

Hier noch das Video. Es war wohl nur zu groß.
Hab es nun kürzer gehalten. Aber bei der Konvertierung vom Handy 3gp nach mpg wird es um 90° gedreht. Keine Ahnung warum.

VID_20160909_192620.mpg (915 KB)

Ohne Video und Sketch anzuschauen:

Ich vermute daß Du Beim Multiplexen etwas falsch machst.
Du mußt den Transistor einer Reihe aktivieren die LEDs einer Reihe einschalten und dann nach einiger Zeit dalle LED ausschalten um dann den nächsten Reihentransistor zu aktivieren usw.
Alternativ kannst Du auch alle Transistoren während des Wechsels der LED einer Reihe ausschalten.

Grüße Uwe

Hallo Uwe,

ich habe keine Transistoren.
Ich schalte immer nur eine Reihe nach der anderen mit dem 1. Schieberegister ein ud aus.
Mit dem zweiten dann die einzelnen Dioden für diese Reihe.

Tschüß
der Lokgeist

hi,

Du KANNST transistoren verwenden, wenn nicht, bist Du außerhalb der spezifikation des 595ers. genauso, wie es zum beispiel im shiftout-beispiel hier im arduino-playground gezeigt wird. von tausend leuten (auch mir) nachgebaut, noch nichts von rauch an den teilen gehört (oder gesehen)...

aber jeder "elektroniker" MUSS Dich natürlich darauf aufmerksam machen, und auch für mich gilt: als test ok, als dauerinstallation besser auf nummer sicher gehen.

gruß stefan

Was macht der 100nF an Pin 12?

Du könntest versuchen, beide Latch an einen Arduino-Ausgang zu hängen.

Wobei ich jetzt sehe, daß Du möglicherweise Clock und Latch vertauscht hast:

SCK (Clock) IC-Pin11 SH_CP - Arduino D6 "int latchPinA = 6; //Pin connected to ST_CP of 74HC595

Oder stimmt der Schaltplan nicht oder habe ich einen Knoten im Gehirn?

Die 100nF giebt es nicht mehr. Ich hatte das mal irgendwo gelesen das man es machen solle aber nicht muß. Finde die Stelle aber im Moment nicht.
Zu der Verkabelung kann ich nur sagen daß ja eigentlich alles gut läuft. Die Sternbilder werden richtig dargestell und nach 1000 Durchgängen (etwa 2 Sek) schaltet das nächste Bild ein.
Einzig das schwache Leuchten in der nächsten oder der vorherigen Reihe stört etwas. Je nach latch-Pin A oder B. Welcher zuerst auf HIGH gesetzt wird.

Tschüß
der Lokgeist

Warum legst Du dann nicht beide Latches zusammen, auf einen Arduino Ausgang?

Hallo Stefan,

wenn ich mich nicht irre sollte es keine Überbelastung geben.
Aber eventuell stimmt ja meine Berechnung nicht.
Bei 5V und einem Vorwiederstand von 1kOhm mal maximal 8 Dioden in einer Reihe = 40mA
Oder?

Tschüß
der Lokgeist

Lokgeist:
Je nach latch-Pin A oder B. Welcher zuerst auf HIGH gesetzt wird.

Was spricht dann gegen meinen Vorschlag "beide Latch an einen Arduino-Ausgang zu hängen"?

hi,

latches natürlich an einen pin. sonst ist kurzzeitig ein einigermaßen undefinierter zustand.

das mit dem 1k-widerstand hab' ich überlesen. Ich wollte sagen, daß Du mit 470 oder auch 330 immer noch keine probleme bekommst. der test dazu: daumen drauf, solange es nicht WIRKLICH heiß wird, ist alles im rahmen.

gruß stefan

Das mit den latch-Pin an einen Ausgang, das wars !!!
Toll, jetzt ist alles OK.

Vielen besten Dank an alle.

Tschüß
der Lokgeist