Ich habe mit vor langer Zeit mal die Schieberegister "sn74hc595n" billig auf Ebay geholt... und was soll ich sagen... wenn ich ich den Schaltkreis auf meinem Breadboard (Beispiel Schaltkreis vom datasheet ) aufbaue, passiert: nichts.
das Problem: meine Shiftregister können zwar den Code vom arduino nano aufnehmen und tun auch was der Arduino sagt- aber nur halb.
wenn ich den den datapin auf gnd setzte und das durch "clocke" und mit der latch anzeigen lasse, Funktioniert zwar alles reibungslos, also die Output-pins sind dann auf gnd, wie es ja auch sein soll.
Problematisch wird es nur, wenn ich den datapin der Shiftregisters auf vcc (also HIGH) setze und das durch shifte, und "latchen" lasse, hier sind dann zwar die Ouput-pins des Shiftregister nicht mehr auf gnd aber auch nicht auf vss, obwohl sie das eigl. sein sollten, selbst im Beispielcode des datasheets werden die leds so angeordnet, das sie nur dann leuchten, wenn die vom shiftregister vss bekommen, also das Shiftregister den output der Pins auf HIGH hat, aber wenn ich die pins auf high setze haben sie einfach nur gar keine Verbindung mehr, weder zu gnd noch zu vss. Was kann ich mit den Chinadinger nur tun, damit die auch mal vss outputen?
PS: Ich weiß das diese Problem nicht so viel mit arduino an sich zu tun hat, aber ich brauche ne lösung um damit dann ein Arduinoprojekt zu starten, und das Forum hier sah mir am schlausten aus, von der Community her, weshalb ich dachte ich poste das Problem mal hier, da ich hier bestimmt schnell hilfe bekomme
Wird besagte Leitung vom µC auch so befeuert, wie Das DaBla Das gerne haben möchte?
Also 'EIN' bei LOW ? (OE = OutputEnable) - aufgrund Tommy's Post wohl low-active.
ich habe /OE mittels Pulldown ebenfalls auf Masse.
Latch benötigt nach der Datenübertragung einen low > high > low Puls. Nicht nur umschalten, sondern eben einen Puls auslösen. Sonst passiert nichts.
Für einen kompletten Reset wenn gewünscht musste am /MR einen high > low > high Puls auslösen und mit Latchpuls übernehmen. Ansonsten bleibt /MR dauerhaft auf High.
Ein digitaler Ausgang kann nur High oder Low sein, alles übrige kommt von einer falschen Schaltung.
Mehr läßt sich dazu aus der Ferne mangels hilfreicher Informationen nicht sagen :-]
DrDiettrich:
Ein digitaler Ausgang kann nur High oder Low sein, alles übrige kommt von einer falschen Schaltung.
Der HC595 hat 3-state Ausgänge. Und wie der Name schon sagt, können die eben nicht nur 2 Zustände (High,Low) annehmen, sondern auch noch einen dritten: Offen/hochohmig. Wie schon geschrieben,wird das durch den /OE gesteuert. So wie der TO das beschrieben hat, sieht es so aus, als hätte er DataIn und /OE verwechselt.
Doc_Arduino:
Latch benötigt nach der Datenübertragung einen low > high > low Puls. Nicht nur umschalten, sondern eben einen Puls auslösen. Sonst passiert nichts.
Lt. Datenblatt ( und eigener Erfahrung ) ist nur die positive Flanke für die Datenübernahme entscheidend. Es ist eben kein statischer 'latch-enable' Eingang, sondern ein Takteingang. Der Zeitpunkt der negativen Flanke ist irrelevant. Aber wie geschrieben braucht es für eine erneute Datenübernahme einen kompletten Impuls, sonst kann man ja keine 2. positive Flanke erzeugen.
ja richtig. Wenn ich vom Ruhelevel "low" ausgehe und wieder auf "low" zurück formt sich der Puls von alleine. Meinetwegen auch umgekehrt. Deswegen schrieb ich bewusst von Puls. Egal, ihr wisst worum es geht.