26を超えるGPIOピンを取得する


16

Raspberry Piから75のデジタル出力信号を出力できるようにしたいと思います。ただし、GPIOピンは26個しかありません。1秒以内であれば、正確なタイミングは重要ではありません。すべての信号を同時にオンまたはオフにする必要があるため、チャーリープレックスは機能しません。

USBで接続された別のモジュールでこのようなことが可能になると思いますが、既存のハードウェアを使用してこれを行う簡単な方法があるかどうか疑問に思っていましたか?


3
26個のピンがありますが、GPIOに使用できるのはそのうちの17個のみであり、その他はグランド/電源であることに注意してください。
Seanny123 14年

回答:


10

これに対する最善の解決策は、おそらく「ポートエクスパンダー」を使用することです。

英国のHobbyTronicsから利用可能なエキスパンダーキットがあります:http ://www.hobbytronics.co.uk/mcp23017-port-expander-board

ポートエクスパンダーの概要については、Wikipediaのページをご覧ください:http : //en.wikipedia.org/wiki/Port_expander


1
Ddbyzは死んだウェブサイトです。回答から削除することをお勧めします。
-Zimano

6

I2Cインターフェイスを介して接続されたいくつかのMCP23008チップを使用して、最大64個の追加のGPIOポートを拡張できます。それぞれ8つのGPIOが追加され、最大8つがI2Cを介して接続できます。75が必要なので、16個のGPIOポートを備えたMCP23008の兄貴であるMCP23017を使用すると思います。アドレスが重複しているため、I2Cバスの8の制限が両方に適用されるため、両方を混在させて128を超えることはできません。

I2C-Busに簡単にアクセスするには、Quick2WireのI2C-Python-APIを使用できます。Quick2Wireには、チップに関する投稿もあります


また、PCF8574チップでも幸運でした。
コルバン

5

見てみましょうこの回答 MAX7219MAX7221MAX6950MAX6951TLC5940は、同様の問題のための選択肢として議論されました。


3

MCP23017に基づいたAB Electronics UKのIO Piも使用できます。IO Piは 32のデジタルI / Oが可能になり、あなたはラズベリーパイのI2Cポートとそれを制御することができます。また、最大4つのピンを1つのPiに、最大128ピンまで取り付けることができます。基本的には1つのボードに2つのMCP23017です。IO Piとは対照的に2つのMCP23017を使用する方が安価ですが。


1

Raspberry Piの「コンピュートモジュール」が利用可能になり、BCM2835のGPIOピンを120個すべて提供します(自分で作業を簡単にしたい場合は対応する開発ボード)。しかし、それを使用したいかどうかに影響を与える可能性のある他のものはありません...


1

私はこれが非常に古い投稿であることを知っていますが、複数のgpioピンにアクセスする方法を検索するときにGoogleで最初に見つけるものです...そして結果には最も簡単なオプションである可能性のある新しい機能が含まれていません:

他の検索者にとって、この新しいソフトウェアはあなたが探しているものかもしれません:

sudo apt install usbbootgui

https://www.raspberrypi.org/blog/gpio-expander/で詳細に説明されています

USB経由で複数のパイのGPIOにアクセスできます。使用しているUSBポートの数に制限があると思います。

私はそれを使用して、古いゲームカートリッジをダンプするepromリーダーを作成します。(これが私がこれを探していた理由です)


0

シフトレジスタを使用します。https://www.sparkfun.com/products/10680安価であり、好きなだけ直列に配置できます。出力イネーブル/ラッチメカニズムを備えているものもあります。これにより、トライステートに移行し、同時にレベルをシフトできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.