Ich lerne Arduino und eine Sache, die meine Aufmerksamkeit auf sich zog, war die Verwendung von Schieberegistern, um die Anzahl der digitalen Pins zu erhöhen.
Ich habe viele Tutorials gesehen , die 74HC595 Shift Register verwenden, aber mein lokales Geschäft verkauft nicht genau dieses Schieberegister, aber viele andere wie:
74HC166
CD4015
74HC165
74HC164
CD4014
74HC595 SMD
Sie scheinen alle 8-Bit-Schieberegister zu sein.
Ich möchte sie verwenden, um einige LEDs mit einem Arduino zu beleuchten. Ich stelle mir vor, dass sie sehr spezifische Zwecke haben, aber könnte ich insgesamt einen von ihnen in meinem Projekt verwenden?
Was ist der Hauptunterschied zwischen diesen Schieberegistern?
arduino
shift-register
user3347814
quelle
quelle
Antworten:
Die einfachste Möglichkeit, eine solche Frage zu beantworten, besteht darin, sich die Datenblätter für die Komponenten anzusehen:
CD4015 ist Teil der älteren Chipserie der 4000er-Serie. Als sie eingeführt wurden, waren sie CMOS, während 7400 Chips TTL waren, obwohl heutzutage 74HC-Chips auch CMOS sind. Sie werden immer noch verwendet, da sie mit einem größeren Spannungsbereich als 74HC-Chips arbeiten (bis zu 15 V gegenüber maximal 7 V für 74HC oder 5,5 V für 74LS). Sie sind auch etwas langsamer (maximal 3 MHz bei 5 V gegenüber 25 MHz beim 74HC595).
Der CD4014 hat ähnliche Spezifikationen wie der 4015, aber anstatt Pins zu haben, mit denen Sie alle Werte, die verschoben wurden, gleichzeitig übernehmen können, können Sie mehrere Werte gleichzeitig eingeben und dann einzeln verschieben. Der CD4015 ist also wie ein Seriell-Parallel-Wandler, aber dieser ist ein Parallel-Seriell-Wandler.
Der 74HC166 ist wie der CD4014 ein Parallel-In-Serial-Out, liegt jedoch im 74HC-Bereich, hat also den kleineren Spannungsbereich und eine schnellere Reaktion dieses Bereichs.
74HC165 ermöglicht sowohl parallelen als auch seriellen Eingang und ist serieller Ausgang . Es bietet auch einen invertierten und einen nicht invertierten Ausgang.
74HC164 ist wie der CD4015 seriell ein- und parallel aus, aber die 74HC-Serie ist so schneller und spannungsärmer.
74HC595 (oder genauer SN74HC595J) und 74HC595-SMD (bei denen es sich um verschiedene kleinere Variationen handeln kann) sind dieselbe Komponente in verschiedenen Paketen. Das erste ist ein traditionelles "DIP" -Paket, das Sie wahrscheinlich benötigen, wenn Sie an Steckbrettern, Stripboards oder perforierten Prototypen arbeiten. Bei letzterem handelt es sich um ein oberflächenmontiertes Gehäuse (wahrscheinlich SOIC), das kleiner und leichter auf eine Leiterplatte zu verlöten ist, für das Prototyping jedoch ein wenig schmerzhaft sein kann. Diese sind Serial-In-Parallel-Out, haben aber auch einen separaten Satz von Registern, in die die eingegebenen Daten kopiert werden können. Dies bedeutet, dass Ihre parallelen Ausgänge gleichzeitig geändert werden können, anstatt ungültige Daten zu enthalten, während die neuen Daten verschoben werden.
Einige andere Chips, die Sie sich ansehen möchten:
quelle
Um die Antwort von schadjo zu ergänzen:
Die beiden am häufigsten für Arduino verwendeten (aber nicht nur) sind 74HC165 und 74HC595 .
Mit dem 74HC165 können bis zu 8 Eingänge (z. B. Schalter) an nur wenige GPIOs angeschlossen werden.
Mit dem 74HC595 können bis zu 8 Ausgänge (z. B. LEDs) an nur wenige GPIOs angeschlossen werden.
quelle
Für einen Neuling ist die Hauptunterscheidung in Schieberegistern wahrscheinlich Parallel In / Serial Out (PISO) und Serial In / Parallel Out (SIPO).
Wie die Namen andeuten, nimmt ein PISO beispielsweise ein 8 Bit breites Signal auf und ermöglicht es Ihnen, diese Bits einzeln (in Reihe) mit einzelnen Taktimpulsen einzeln herauszuschieben.
Mit einem SIPO können Sie jedes der Bits nacheinander verschieben und dann alle 8 dieser Bits gleichzeitig, dh parallel, auf 8 Ausgangspins haben.
quelle
74HC595 (Thruhole oder SMD) hat eine 70-mA-Grenze für Vcc- und Gnd-Pin. Wählen Sie daher Strombegrenzungswiderstände aus, die 8-9 mA zulassen. (8 Ausgänge x 9 mA = 72 mA).
So wählen Sie einen Widerstand aus: (5V - Vf) /. 008 = Widerstand, wobei Vf die Durchlassspannung der LED ist (Beispiel ~ 2,5 V für eine typische rote LED, einige Grün- und Gelbtöne und oft etwas höher für andere Farben wie Blau , Weiß).
(5 V - 2,5 V) /. 008A = 312,5 Ohm, also 300 oder 330 Ohm sind großartig. 270 wäre auch okay für 9,25mA. 1K würde die Helligkeit etwas verringern, aber immer noch reichlich hell sein. 8mA können mit einer modernen hocheffizienten LED ziemlich hell sein.
Wenn Sie mehr Strom benötigen, werden TPIC6B595 und TPIC6C595 auf die gleiche Weise wie 74HC595 gesteuert - mit Takt, Daten und Latch -, können jedoch 150 mA und 100 mA pro Ausgangspin versenken (Verschiebung in eine 1, die den Ausgang einschaltet, wird niedrig) um Strom von 5 V durch die LED und ihren Widerstand zu leiten. Vs Strom durch die LED / den Widerstand nach Gnd).
Haben Sie keine Angst, Teile online zu bestellen. Digikey.com und Mouser.com führen alle Arten von Teilen, und kostengünstige USPS-Post wird sie in 2-3 Tagen bei Ihnen erhalten.
Wenn Sie sich eindecken möchten, geben Sie 20 bis 30 US-Dollar aus und erhalten Sie eine Tüte mit Teilen von taydaelectronics.com. Dafür kann man eine Menge Zeug bekommen. Ich denke, Teile kommen aus Thailand (über Colorado in den USA von dem, was ich erhalten habe). Bestellen Sie eine Auswahl von Teilen, die einige Projekte dauern werden.
quelle
Zusätzlich zu all den anderen guten Antworten kann sich die Pin-Map des IC sicherlich zwischen verschiedenen ICs unterscheiden. Sie können nicht einfach einen Draht an dieselben Stifte anschließen, die Sie für ein anderes Schieberegister verwenden würden, und erwarten, dass er funktioniert. Wenn Sie mit der Pin-Funktionalität übereinstimmen, besteht eine viel bessere Chance, obwohl die Pin-Funktionalität möglicherweise auch auf verschiedenen Chips nicht gleich ist.
quelle