Ich habe mir eine Led Matrix ( GRösse 256 Led) mit 4 hc595 Shiftregister aufgebaut.
Nun würde ich gerne diese Matrix mit einem Arduino UNO ansteueren. da komme ich aber nicht weiter. Das Shiftout in der Reference habe ich mir schon mehrfach durchgelesen. Zudem habe ich auch schon eine 8x8x Led Matrix angesteuert, einfach ohen Shiftregister. Nun wollte ich wissen ob mir jemand vielleicht all die Sachen wie Shiftout, Clockpin,Datapin und etc. erklären kann.
Ganz grob, es ist ein Schieberegister :o Ist schon nen bsischen her, ich versuchs mal ohne gewähr.
Du legst ein Signal an den seriellen Shifteingang,
Jede änderung an Clock schiebt das vorherige Signal von Pin zu Pin Pin1->Pin2->Pin3>Pin4 ETC.
Wenn Du die Clock auf 1 Setzt, Serial auf 1 Setzt ist im Vorregister von Pin0 schonmal die 1.
Wenn Du jetzt Clock auf null setzt, und das Signal auf null setzt und die Clock Weiter mit High und Low weitertaktest wird die 1 weitergereicht und der letzte Pin sollte nach 8 Takten angehen.
Du musst im Prinzip nur richtig zählen, und Steuerzeiten beachten.
Aber wenn ich den TO richtig verstehe, dann will er ja eine LED-Matrix ansteuern: 4 Schieberegister mit je 8 Ausgängen (also 32) auf 256 LEDs (16 x 16). Das geht mit den "normalen" Schieberegistern nicht soooo einfach.
Naja er wird ja schonmal auf der anoden Seite Transistoren dahinter haben
Da müsste er mal einen Schaltplan rüberwachsen lassen, ausserdem könnte er Planen für einen guten Stromverbrauch zu Multiplexen.. dann sind nie 16 sondern nur soviele er will gleichzeitig an, optimal 1 LED.
der TO will schieberegister UND später dann multiplexing verstehen.
also erstmal die schieberegister:
für 16 LEDs brauchst Du 2 stück 74HC595, nicht 4.
lies Dir das tutorial zu arduino-shiftout durch, das oben verlinkt ist. dort wird auch mit zwei 595ern gearbeitet.
mit dem befehl shiftOut (zweimal angewandt, wie im tutorial) schickst Du zweimal 8 bit, also folgen von 0 oder 1 an die schieberegister.
wenn Du 00100000 und 00000010 schickst, werden die dritte und die vorletzte leuchten, eben dort, wo die einsen stehen. vergiß mal die anderen 15 reihen und sprich nur die erste an. multiplexing kommt später....
sieh Dir dieses tutorial an. damit schaltet jeder 595er genau 8 LEDs. das ist bei den dort angegeben widerständen etwas außerhalb der spezifikation, aber das ist egal. steht seit jahren so dort, hunderte habens gemacht, und wir hatten noch keine toten (jedenfalls keine, die gemeckert haben).
versuche, zu verstehen, wie man mit zwei 595ern 16 LEDs steuert.
Ich glaube er weiss sogar schon, wie man mit 16 bit 8x8 = 64 LED steuert.
Nur, wie man das (64 LED) mit 2 Schieberegistern hinkriegt, traut er sich nicht.
256 LED mit 2+2 Schieberegistern ist dann höchstens noch ein Problem der Stromversorgung, da an jedem Pin statt 0 .. 8 nun 0 .. 16 LED hängen
Offensichtlich habt ihr alle meine Frage nicht komplett durchgelesen. das Shiftout habe ich bereits verstanden und angewandt. Zudem habe ich wie Michael x erwähnt hat ohne Schieberegister eine 8x8 Led. matrix angesteuert. ich würde nun einfach gut und ausführlich erklärt wissen wie ich nun eine grössere Matrix mit Schiebe Register ansteuern kann.
Der Schaltplan hat übrigens zur Stromverstärkung Ulm2003 zwischen Matrix und Shift Register.
Den Schaltplan füge ich hier ein sobald ich weiss wie
Vielleicht könnt ihr mir das sagen
die antwort bleibt teilweise gleich: schau Dir das von michael oben verlinkte tutorial an. da sind auch beispielsketche dabei für 8 und 16 LEDs in reihe.
die anderen beiden schieberegister nimm mal raus und versorge nur die erste spalte mit strom. so lernst Du, wie Du eine spalte ansteurst.
multiplexen ist ein zweiter schritt, aber eins nach dem anderen...
Offensichtlich habt ihr alle meine Frage nicht komplett durchgelesen. das Shiftout habe ich bereits verstanden und angewandt.
Deine einzige richtige Frage:
Nun wollte ich wissen ob mir jemand vielleicht all die Sachen wie Shiftout, Clockpin,Datapin und etc. erklären kann.
Hab ich versucht zu erklären, vielleicht solltest Du genauer werden.. ohne Schaltplan ist da helfen nicht möglich. Unter "Erweiterte Antwort" kannste Dateien Hochladen!