Получение более 26 контактов GPIO

16

Я хотел бы иметь возможность выводить 75 цифровых сигналов от Raspberry Pi. Однако он имеет только 26 контактов GPIO. Точное время не критично, если оно находится в пределах 1 секунды. Мне нужно иметь возможность включать и выключать все сигналы одновременно, чтобы чарли-плексирование не работало.

Я предположил бы, что такая вещь была бы возможна с другим модулем, подключенным через USB, но я задавался вопросом, будет ли более легкий способ сделать это, используя существующее оборудование?

совок
источник
3
Просто отметьте, что, хотя имеется 26 контактов, только 17 из них можно использовать для GPIO, а остальные - заземление / питание.
Seanny123

Ответы:

10

Лучшее решение для этого, вероятно, пойти на «расширитель порта».

Компания HobbyTronics в Великобритании предлагает набор расширителей: http://www.hobbytronics.co.uk/mcp23017-port-expander-board

Для общего брифинга по расширителям портов, вот страница в Википедии: http://en.wikipedia.org/wiki/Port_expander

recantha
источник
1
Ddbyz - это мертвый сайт. Я рекомендую удалить его из ответа.
Зимано
6

Можно расширить до 64 дополнительных портов GPIO, используя несколько микросхем MCP23008, подключенных через интерфейс I2C. Каждый добавляет 8 GPIO и до восьми можно подключить через I2C. Как вам нужно 75, я полагаю, вы идете с старшим братом MCP23008 MCP23017, который имеет 16 портов GPIO. Невозможно смешать оба и получить более 128, так как ограничение 8 на шине I2C применяется к обоим вместе, потому что адреса перекрываются.

Для облегчения доступа к шине I2C вы можете использовать I2C-Python-API из Quick2Wire . Quick2Wire также имеет пост на чипах .

Мос
источник
Мне также повезло с чипами PCF8574.
Колбан
5

Взгляните на этот ответ, где MAX7219 , MAX7221 , MAX6950 , MAX6951 и TLC5940 обсуждались в качестве варианта решения аналогичной проблемы.

Avra
источник
3

Вы также можете использовать IO Pi от AB Electronics UK, которая основана на MCP23017 . IO Pi позволяет 32 цифровых входов / выходов , и вы можете управлять им с помощью I2C порт малина Пи. Вы также можете разместить до 4 из них на одном пи и максимум до 128 контактов. Это в основном два MCP23017 на одной плате. Хотя дешевле использовать два MCP23017, чем IO Pi .


источник
1

Теперь доступен « вычислительный модуль » Raspberry Pi, и он (и соответствующая плата разработки, если вы хотите упростить для себя задачу) предлагает ВСЕ 120 из выводов GPIO BCM2835! Однако есть и другие вещи, которых он не имеет, которые могут повлиять на то, хотите ли вы его использовать ...

SlySven
источник
1

Я знаю, что это очень старая запись, но она первая, которую вы найдете в Google при поиске доступа к нескольким булавкам gpio ... и результаты не включают новую функцию, которая может быть самой простой:

так что для других искателей это новое программное обеспечение может быть тем, что вы ищете:

sudo apt install usbbootgui

(более подробно описано на https://www.raspberrypi.org/blog/gpio-expander/ )

позволяя вам получить доступ к GPIO нескольких пирогов через USB. Я думаю, ограничено количеством USB-портов у вас есть.

Я буду использовать это сам, чтобы создать читатель eprom, чтобы сбрасывать старые игровые картриджи. (именно поэтому я искал это)

Грэм Тоал
источник
0

Используйте сдвиговый регистр. https://www.sparkfun.com/products/10680 Они дешевы, и вы можете поместить в серию столько, сколько захотите. Некоторые из них имеют механизм разрешения / фиксации выхода, который позволяет одновременно переходить в три состояния и уровни сдвига.

Оттар Л. Осен
источник