c't 15/2020
S. 146
Wissen
GPIO-Baustein MCP23017

Mehr I/O zum Basteln

Sehr viele GPIO-Pins an Arduino, Raspi und ESP

Bei Mikrocontroller-Elektronik mit vielen Schaltern, LEDs und Relais reichen die integrierten GPIO-Pins am Arduino, ESP8266, ESP32 oder Raspi oft nicht aus. Das Problem lösen per I2C-Bus angeschlossene GPIO-Extender-Chips wie der MCP23017. Aus zwei Pins macht man so 16 zusätz­liche digitale Ein- oder Ausgänge.

Von Pina Merkert

Auf dem Basteltisch breiten sich die Teile fürs neueste Projekt aus: fünf Relais, eine LED, zwei Schalter und ein Temperatursensor. Kurz durchgezählt: Die Bauteile belegen 10 GPIO-Pins am Mikrocontroller. Der geplante ESP-12f hat aber nur acht nutzbare Pins. Was tun?

Eine Lösung sind GPIO-Extender wie der MCP23017, den man für weniger als einen Euro bekommt. Den Chip steuert der Mikrocontroller über den seriellen I2C-Bus an und der Baustein kümmert sich seinerseits ums Auslesen der Schalterstellung und das Schalten der Relais. Die seriellen Befehle kosten ein paar Milli­sekunden Zeit, dafür liefert der Chip satte 16 konfigurierbare digitale Ein- oder Ausgabe-Pins.

Kommentare lesen (6 Beiträge)