Obtendo mais de 26 pinos GPIO

16

Eu gostaria de poder emitir 75 sinais de saída digital do Raspberry Pi. No entanto, possui apenas 26 pinos GPIO. O tempo preciso não é crítico, desde que seja dentro de 1 segundo. Eu preciso ser capaz de ativar ou desativar todos os sinais ao mesmo tempo, para que charlie-plexing não funcione.

Eu imagino que isso seria possível com outro módulo conectado por USB, mas eu queria saber se haveria uma maneira mais fácil de fazer isso usando o hardware existente?

Scoop
fonte
3
Observe que, embora existam 26 pinos, apenas 17 deles podem ser usados ​​para GPIO e os outros são terra / energia.
Seanny123

Respostas:

6

É possível expandir até 64 portas GPIO adicionais usando alguns chips MCP23008 conectados via interface I2C. Cada um adiciona 8 GPIOs e até oito podem ser conectados através do I2C. Como você precisa de 75 anos, suponho que você vá com o irmão mais velho do MCP23008, o MCP23017, que possui 16 portas GPIO. Não é possível misturar os dois e obter mais de 128, pois o limite de 8 no barramento I2C se aplica a ambos porque os endereços se sobrepõem.

Para facilitar o acesso ao barramento I2C, você pode usar a API I2C-Python do Quick2Wire . O Quick2Wire também tem um post sobre os chips .

Mose
fonte
Eu também tive boa sorte com os chips PCF8574.
Kolban
5

Dê uma olhada esta resposta onde MAX7219 , MAX7221 , MAX6950 , MAX6951 e TLC5940 foram discutidos como uma opção para problema semelhante.

avra
fonte
3

Você também pode usar o IO Pi da AB Electronics UK, baseado no MCP23017 . O IO Pi permite 32 E / S digitais e você pode controlá-lo com a porta I2C do Raspberry Pi. Você também pode colocar até quatro deles em um único Pi e com um máximo de 128 pinos. São basicamente dois MCP23017 em uma placa. Embora seja mais barato usar dois MCP23017s em oposição a um IO Pi .


fonte
1

Um " módulo de computação " do Raspberry Pi está disponível e ele (e a placa de desenvolvimento correspondente, se você quiser facilitar as coisas) oferece TODOS OS 120 dos pinos GPIO do BCM2835! No entanto, existem outras coisas que ele não possui que podem afetar se você deseja usá-lo ...

SlySven
fonte
1

Sei que este é um post muito antigo, mas é o primeiro que você encontra no Google ao pesquisar como acessar vários pinos de gpio ... e os resultados não incluem um novo recurso que pode ser a opção mais fácil:

portanto, para outros usuários, este novo software pode ser o que você procura:

sudo apt install usbbootgui

(descrito em mais detalhes em https://www.raspberrypi.org/blog/gpio-expander/ )

permitindo acessar os GPIOs de várias tortas por USB. Eu acho que limitado pelo número de portas USB que você tem.

Eu mesmo usarei isso para criar um leitor de eprom para despejar cartuchos de jogos antigos. (é por isso que eu estava procurando por isso)

Graham Toal
fonte
0

Use um registro de turno. https://www.sparkfun.com/products/10680 Eles são baratos e você pode colocar quantos quiser em série. Alguns possuem um mecanismo de ativação / trava de saída que permite que você vá para níveis de estado triplo e de mudança ao mesmo tempo.

Ottar L. Osen
fonte