Ich möchte 75 digitale Ausgangssignale vom Raspberry Pi ausgeben können. Es hat jedoch nur 26 GPIO-Pins. Ein genaues Timing ist nicht kritisch, solange es innerhalb einer Sekunde liegt. Ich muss in der Lage sein, alle Signale gleichzeitig ein- oder auszuschalten, damit Charlie-Plexing nicht funktioniert.
Ich würde mir vorstellen, dass so etwas mit einem anderen über USB angeschlossenen Modul möglich ist, aber ich habe mich gefragt, ob es einen einfacheren Weg gibt, dies mit der vorhandenen Hardware zu tun.
Antworten:
Die beste Lösung dafür ist wahrscheinlich ein "Port Expander".
Es gibt ein Expander-Kit von HobbyTronics in Großbritannien: http://www.hobbytronics.co.uk/mcp23017-port-expander-board
Eine allgemeine Einführung in Port-Expander finden Sie auf folgender Wikipedia-Seite: http://en.wikipedia.org/wiki/Port_expander
quelle
Mit einigen MCP23008-Chips, die über die I2C-Schnittstelle angeschlossen sind, können bis zu 64 zusätzliche GPIO-Ports erweitert werden. Jeder fügt 8 GPIOs hinzu und bis zu acht können über I2C verbunden werden. Wenn Sie 75 brauchen, nehmen wir an, Sie gehen mit dem großen Bruder von MCP23008, dem MCP23017, der 16 GPIO-Ports hat. Es ist nicht möglich, beide zu mischen und 128 zu überschreiten, da das Limit von 8 auf dem I2C-Bus für beide zusammen gilt, da sich die Adressen überlappen.
Für den einfachen Zugriff auf den I2C-Bus können Sie die I2C-Python-API von Quick2Wire verwenden . Quick2Wire hat auch einen Beitrag auf den Chips .
quelle
Sehen Sie sich diese Antwort an, in der MAX7219 , MAX7221 , MAX6950 , MAX6951 und TLC5940 als Option für ein ähnliches Problem behandelt wurden.
quelle
Sie können auch den IO Pi von AB Electronics UK verwenden, der auf dem MCP23017 basiert . Der IO Pi ermöglicht 32 digitale I / Os und kann über den I2C-Port des Raspberry Pi gesteuert werden. Sie können auch bis zu 4 davon auf einem einzigen Pi und für maximal 128 Pins anbringen. Es sind im Grunde zwei MCP23017 auf einer Platine. Es ist zwar billiger, zwei MCP23017 zu verwenden, als einen IO-Pi .
quelle
Ein Raspberry Pi " Compute-Modul " ist jetzt verfügbar und es (und das entsprechende Entwicklungsboard, falls Sie es sich leichter machen möchten) bietet ALLE 120 GPIO-Pins des BCM2835! Es gibt jedoch noch andere Dinge, die keinen Einfluss darauf haben, ob Sie es verwenden möchten ...
quelle
Ich weiß, dass dies ein sehr alter Beitrag ist, aber er ist der erste, den Sie in Google finden, wenn Sie nach Möglichkeiten suchen, auf mehrere GPIO-Pins zuzugreifen. Die Ergebnisse enthalten keine neue Funktion, die möglicherweise die einfachste Option ist:
Für andere Suchende ist diese neue Software möglicherweise genau das, wonach Sie suchen:
(genauer beschrieben unter https://www.raspberrypi.org/blog/gpio-expander/ )
So können Sie über USB auf die GPIOs mehrerer Pies zugreifen. Ich denke, durch die Anzahl der USB-Ports, die Sie haben, begrenzt.
Ich werde das selbst verwenden, um einen E-Prom-Reader zu erstellen, mit dem alte Spielkassetten entleert werden können. (weshalb ich das gesucht habe)
quelle
Verwenden Sie ein Schieberegister. https://www.sparkfun.com/products/10680 Sie sind billig und Sie können beliebig viele Serien erstellen. Einige verfügen über einen Ausgangsaktivierungs- / Verriegelungsmechanismus, mit dem Sie gleichzeitig in den Tri-State-Modus wechseln und Pegel verschieben können.
quelle