Больше контактов GPIO: использовать платы расширения или 2 raspberry pi?

Я планирую начать проект с использованием RPi3 и Android Things. Мне нужно 50 контактов GPIO (20 входов, 30 выходов), поэтому у меня есть 2 варианта: использовать плату расширения или использовать 2 RPis. Итак, у меня есть вопрос для каждого варианта:

  • Если я использую плату расширения: можно ли будет использовать ее с Android Things?
  • Если я использую 2 RPis: как лучше всего общаться между ними? (например: сигнал, полученный в GPIO в RPi A, может вызвать вывод в RPi B)

РЕДАКТИРОВАТЬ: здесь я ссылаюсь на сообщение, в котором описываются 3 способа расширения портов GPIO RPi -> https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=86738#p611850 Это может быть полезно

РЕДАКТИРОВАТЬ 2: я буду использовать 2 MCP23017 (расширитель на 16 портов). Таким образом, я получу 32 контакта, используя только 2 контакта I2C. Дополнительная информация: http://ww1.microchip.com/downloads/en/DeviceDoc/21952b.pdf


person Sergio Viudes    schedule 10.01.2017    source источник
comment
Выходные контакты легко мультиплексируются. Входные контакты сложнее мультиплексировать, но это выполнимо.   -  person Seb    schedule 10.01.2017
comment
@Seb, если вы уточните немного больше, это может быть очень хороший ответ, а не просто комментарий.   -  person shalafi    schedule 10.01.2017
comment
@Seb Я согласен с шалафи. Пожалуйста, не могли бы вы дать нам больше информации?   -  person Sergio Viudes    schedule 10.01.2017


Ответы (2)


Вы можете использовать -with-interrupt:PCF8574_74A" rel="nofollow noreferrer">PCF8574, который является 8-битным расширителем портов I2C. Вы можете иметь до 8 из них на одной шине I2C, что дает вам до 64 контактов GPIO.

Вот драйвер для PCF8574 для Android Things:

https://github.com/davemckelvie/things-drivers

person Dave McKelvie    schedule 11.01.2017
comment
Спасибо. Я думаю, что использование расширителя портов I2C — это путь. Так же спасибо за драйвера :) - person Sergio Viudes; 11.01.2017

Я не знаком с Android Things, но с некоторыми электронными работами вы сможете добиться своих результатов.

Этот 4-строчный декодер будет использовать только 4 контакта gpio для управления 16 выходами.

http://www.nxp.com/documents/data_sheet/74HC_HCT154.pdf

Возможен и обратный процесс. Вы можете использовать 16-строчный «демультиплексор» для кодирования 16 бит логической информации на 4 входа GPIO вашего Raspberry.

http://www.ti.com/product/CD54HC4514

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

person Seb    schedule 10.01.2017
comment
Спасибо. Я читал больше об использовании мультиплексора. Это работает, но единственная проблема заключается в том, что одновременно можно активировать только один пин. - person Sergio Viudes; 11.01.2017