Schieberegister vs. I2C-Expander: Ausgänge zum Arduino hinzufügen
By Official Hobby Components Online Store | Buy Electronic Kits, Components, Boards, Shields, Modules | Published: 2026-10-16
Category: Vergleiche
Vergleichen Sie das 74HC595-Schieberegister mit I2C-Port-Expandern wie dem PCF8574 zur Erweiterung der Arduino-Pins, mit klaren Vor- und Nachteilen und Hinweisen, wann Sie welche Variante verwenden sollten.
Kurze Antwort
Wenn Sie viele einfache Ein-/Aus-Ausgänge benötigen und die niedrigsten Kosten pro Pin wünschen, verwenden Sie ein 74HC595 Schieberegister. Wenn Sie nur wenige Ausgänge benötigen und Mikrocontroller-Pins sparen möchten, verwenden Sie einen I2C-Expander wie den PCF8574. Der Kompromiss liegt zwischen Pin-Anzahl und Verdrahtungseinfachheit sowie Strombelastbarkeit.
Wie das 74HC595 Schieberegister funktioniert
Der 74HC595 ist ein 8-Bit-Seriell-in-Parallel-out-Schieberegister. Sie senden Daten Bit für Bit über drei Mikrocontroller-Pins: Daten, Takt und Latch. Sobald der Latch aktiviert ist, behalten die acht Ausgänge ihren Zustand, bis Sie sie erneut aktualisieren. Dies macht ihn ideal für die Ansteuerung von LEDs, Relais oder anderen Lasten mit geringem Stromverbrauch. Da es sich um ein Schieberegister handelt, können Sie mehrere Chips hintereinanderschalten, um 8, 16, 24 oder mehr Ausgänge hinzuzufügen, während Sie nur drei Mikrocontroller-Pins verwenden. Der 74HC595 kann genug Strom für Standard-LEDs liefern oder senken, aber für Lasten mit höherer Leistung benötigen Sie einen Treiber wie einen Transistor oder einen speziellen Treiber-IC. Das DIP-16-Gehäuse ist breadboard-freundlich, und unser 74HC595 8-Bit-Seriell-Schieberegister (DIP 16) (Packung mit 5) gibt Ihnen fünf Chips für unter $1.40, was sehr niedrige Kosten pro Ausgang bedeutet.
Wie I²C-Port-Expander funktionieren
I²C-Port-Expander wie der PCF kommunizieren über den zweiadrigen I²C-Bus (SDA und SCL). Jeder Expander hat eine eindeutige I²C-Adresse, sodass Sie mehrere am selben Bus anschließen können, ohne zusätzliche Pins zu verwenden. Der PCF bietet quasi-bidirektionale I/O-Pins, die jedoch keine echten Push-Pull-Ausgänge sind; sie können Strom senken, aber nur sehr wenig liefern. Daher eignen sie sich besser für Eingänge oder zum Ansteuern von Lasten, die ein niedriges Signal benötigen, wie z. B. das Herunterziehen einer Transistorbasis. Da I²C ein Bus ist, ist die Verkabelung einfacher: nur zwei Drähte für Daten plus Strom und Masse. Der Nachteil ist jedoch die Geschwindigkeit und Strombelastbarkeit. I²C ist langsamer als die serielle Schnittstelle des Schieberegisters, und der begrenzte Quellenstrom bedeutet, dass Sie für LEDs oder Relais oft externe Treiber benötigen. Außerdem benötigt jedes I²C-Gerät eine eindeutige Adresse, sodass Sie nur eine begrenzte Anzahl haben können. begrenzte Anzahl pro Bus.
Hauptunterschiede: Geschwindigkeit, Stromstärke und Pin-Kosten
Der 74HC595 überzeugt durch Geschwindigkeit und Stromtreiberfähigkeit. Er kann sehr schnell aktualisiert werden, was ihn für Multiplexing- oder PWM-ähnliche Effekte geeignet macht, wenn der Latch schnell umgeschaltet wird. Seine Ausgänge können genug Strom für Standard-LEDs direkt liefern oder senken. Der I2C-Expander ist langsamer und hat einen schwächeren Ausgangstreiber, benötigt aber insgesamt nur zwei Mikrocontroller-Pins, unabhängig davon, wie viele Expander in einer Kette verbunden sind. Das Schieberegister verwendet drei Pins pro Kette, aber Sie können viele Chips ohne Adresskonflikte in Reihe schalten. Die Kosten pro Ausgang sind mit dem 74HC595 niedriger, besonders beim Kauf von Packs wie dem von uns angebotenen 5-Pack. Bei I2C-Expandern sind die Kosten pro Pin höher, und für Lasten, die mehr Strom benötigen, sind möglicherweise zusätzliche Treiberkomponenten erforderlich.
Praktische Hinweise zu Verdrahtung und Code
Die Verdrahtung eines 74HC595 ist einfach: Schließen Sie VCC und GND an, dann verbinden Sie SER (Daten) mit einem Mikrocontroller-Pin, SRCLK (Takt) mit einem anderen und RCLK (Latch) mit einem dritten. Sie können mehrere in Reihe schalten, indem Sie Q7' eines Schieberegisters mit SER des nächsten verbinden. Für I2C-Expander verbinden Sie SDA und SCL mit den I2C-Pins Ihres Mikrocontrollers und stellen Sie die Adresspins ein, um Konflikte zu vermeiden. Im Code verwendet der 74HC595 shiftOut() oder SPI, während der PCF8574 Wire-Bibliotheksbefehle verwendet. Wenn Sie Eingänge lesen müssen, kann der PCF8574 dies tun, aber der 74HC595 kann nicht lesen; er ist nur für Ausgänge. Das ist eine wesentliche Einschränkung: Wenn Ihr Projekt sowohl Eingänge als auch Ausgänge benötigt, benötigen Sie möglicherweise einen anderen Expander oder eine Kombination.
Wann Sie welche Option wählen sollten
Wählen Sie den 74HC595, wenn Sie viele Ausgänge, schnelle Aktualisierungen und direkte LED-Ansteuerung benötigen. Er ist ideal für LED-Matrizen, 7-Segmentanzeigen oder die Ansteuerung vieler Relais über einen Treiber. Wählen Sie einen I2C-Expander, wenn Sie nur wenige Mikrocontroller-Pins zur Verfügung haben und nur einige Ausgänge benötigen oder auch Eingänge hinzufügen möchten. I2C ist auch besser geeignet, wenn mehrere Geräte am selben Bus hängen und Sie die Verkabelung minimieren möchten. Wenn Sie Motoren ansteuern müssen, ziehen Sie ein dediziertes Shield wie das Motor Drive Shield L293D für Arduino in Betracht, das den Strom handhabt und eine bequeme Schnittstelle bietet. Für einfache Statusanzeigen können ein paar 3mm Diffused LED (Weiß) direkt von einem 74HC595 oder über einen Transistor von einem I2C-Expander angesteuert werden. Und wenn Sie mit DIP-Chips prototypen, erleichtert ein schwarzer 28-Pin ZIF Sockel das Austauschen von ICs und reduziert Stiftschäden.
Kompromisse auf einen Blick
- Kosten vs. Verdrahtungseinfachheit: 74HC595 verwendet 3 Mikrocontroller-Pins pro Kette, kann aber viele Ausgänge günstig hinzufügen. I2C-Erweiterungen nutzen insgesamt nur 2 Pins, kosten aber mehr pro Ausgang und haben Adressbeschränkungen. Wählen Sie Schieberegister für viele Ausgänge; wählen Sie I2C für wenige Ausgänge und minimale Pins.
- Ausgangsstrom und Geschwindigkeit: 74HC595 kann genügend Strom für LEDs liefern/aufnehmen und aktualisiert schnell. I2C-Erweiterungen haben einen schwachen Quellstrom und langsamere Aktualisierungsraten. Für direkten LED-Antrieb oder schnelle Aktualisierungen verwenden Sie 74HC595. Für niederstromige Signale oder Eingänge ist I2C ausreichend.
- Eingangsfähigkeit: 74HC595 ist nur für Ausgänge. I2C-Expander wie PCF8574 können Eingänge lesen, jedoch mit quasi-bidirektionalen Pins. Wenn Sie Eingänge benötigen, ist ein I2C-Expander flexibler; andernfalls ist ein Schieberegister für Ausgänge einfacher.
Produktdetails
- 74HC595 8-Bit serielles Schieberegister (DIP 16) (Packung mit 5): Enthält 5 74HC595 8 Bit Serial Shift Register (DIP 16) ICs. Das Datenblatt ist in unserem Support-Forum hier verfügbar. Bitte beachten Sie, dass sich der Hersteller dieses Chips ändern kann. Fünf Schieberegister bieten Ihnen bis zu 40 Ausgänge zu sehr geringen Kosten, und das DIP-Gehäuse lässt sich leicht auf einem Breadboard verwenden. Das Datenblatt hilft Ihnen, Pinbelegung und Timing zu überprüfen.
- Motor Drive Shield L293D für Arduino: Dieses Motor-Treiberschild L293D für Arduino wurde entwickelt, um Ihren Projekten Motorsteuerung hinzuzufügen. Es bietet zwei Schnittstellen für 5V Servos, die an den hochauflösenden dedizierten Timer des Arduino angeschlossen sind, was eine präzise Servosteuerung ermöglicht. Kompatibel mit Arduino Uno-Boards (Board nicht im Lieferumfang enthalten). Enthält zwei 5V Servo-Schnittstellen für Ihre Projektanforderungen. Wenn Ihr Projekt Motoren oder Servos antreiben muss, übernimmt dieses Schild den Strom und bietet eine saubere Schnittstelle, sodass Sie keinen Treiber aus diskreten Komponenten aufbauen müssen.
- 3mm Diffuse LED (Weiß): Standard-LED in hochwertiger weißer Ausführung, 3 mm, in einem weißen diffusen / mattierten Gehäuse. Geeignet für Betriebs- und Statusanzeigen, Hintergrundbeleuchtung, Nachrichtendisplays, 3D-Würfel usw. Der Preis bezieht sich auf eine (1) LED. Je mehr Sie kaufen, desto günstiger wird der Stückpreis. Diese LEDs eignen sich ideal zum Testen neuer Ausgänge. Das diffuse Gehäuse sorgt für ein sanftes Leuchten, und der Preis sinkt mit der Menge, sodass Sie genug für ein ganzes Projekt kaufen können.
- Schwarz, 28-Pin ZIF-Sockel: Diese ZIF-Sockel (Zero Insertion Force) verfügen über einen Hebel, der den Nullkraft-Mechanismus (ZIF) betätigt, um Schäden an Bauteilen zu reduzieren. Diese 2.54 mm DIP-Sockel bieten eine hervorragende Test- und Burn-In-Schnittstelle für Dual-Inline-Gehäuse mit einem Rastermaß von 2.54 mm und einer Gehäusebreite von 0.3. Wenn Sie während des Prototypings 74HC595-Chips oder andere DIP-ICs austauschen, verhindert ein ZIF-Sockel verbogene Pins und erleichtert das Testen.
Welchen sollten Sie verwenden?
Am besten geeignet für
- Projekte mit vielen Ausgängen (LEDs, Relais) bei kleinem Budget
- Schnelle Aktualisierungsanforderungen wie Multiplexing oder PWM
- Direkte Ansteuerung von Lasten mit geringem Strom ohne zusätzliche Transistoren
Nicht geeignet für
- Projekte, die Eingänge lesen müssen (I2C-Expander wählen)
- Wenn Sie die Mikrocontroller-Pins auf nur zwei reduzieren müssen
- Hochstromlasten ohne zusätzliche Treiber



