quinta-feira, 26 de junho de 2014

Expandindo os GPIOs do Raspberry Pi utilizando a interface CSI


Em um post passado expliquei a possibilidade de se reutilizar GPIOs, no exemplo o GPIO47, no fim do post citei que era possível ir além e reutilizar também os da interface CSI ( o conector em que é ligado a câmera ). No DSI as conexões disponíveis infelizmente são controladas somente pela GPU.

Ao contrário do GPIO47 que para ser utilizado efetivamente necessita que você solde na placa do Raspberry Pi, no CSI é possível a utilização de 4 GPIOs sem alterar a placa, GPIO0,GPIO1,GPIO5 e GPIO21. Para realizar os testes comprei um pack de 2 cabos flat de 30cm na dx que é utilizado originalmente para a câmera.


Cabos flat
Cabos flat
Cabo flat
Cabo flat

Como inicialmente eu pensava ser possível alguma utilização também no DSI eu acabei cortando ao meio um dos cabos para reutilizar as duas pontas mais rígidas que vão no conector.

Cabo Flat dividido
Cabo Flat dividido

A conexão desse cabo é simples, basta levantar somente a parte preta do conector para cima, inserir o cabo com os contatos para o mesmo lado da porta HDMI e pressionar ambos os lados para baixo.

Conector CSI aberto
Conector CSI aberto
Conector CSI fechado
Conector CSI fechado

No datasheet do Raspberry Pi podemos ver onde as ligações se encaixam.

CSI
CSI

CSI
BCM

Lembrando que isso se trata do Raspberry Pi rev 2.0, na revisão anterior alguns GPIOs são diferentes.

Nos primeiros testes utilizei um cabo flat inteiro e isolei o GPIO 21 para eu não dar contato acidentalmente à outros.


Contato isolado

GPIO 21 funcionando
GPIO 21 funcionando

Abaixo podemos ver a legenda dos pinos na parte de fora após o cabo já estar conectado.

Legenda dos pinos
Legenda dos pinos

Na parte do cabo flat cortado que não é rígido, utilizei um estilete para separar as linhas.

Separação dos contatos
Separação das linhas

Com elas já separadas, esquentei as pontas e lixei para ter acesso aos contatos.

Contatos à mostra
Contatos à mostra

Depois um trabalho minucioso para soldar fios em cada contato, infelizmente a solda não ficou muito boa.

Solda
Solda

Fiz a utilização de termo retráteis para separação e isolamento dos fios.

Aplicação de termo retrátil
Aplicação de termo retrátil

E por fim a fita isolante em volta para prevenir a quebra dos fios do flat cable que são frágeis.



Com tudo pronto montei uma demonstração com simples leds, resistors e ligações ao GND para mostrar que tudo correu bem.


Segue o vídeo:



Veja que essa possibilidade não pretende substituir a facilidade de se utilizar uma placa de expansão que aumente a quantidade de GPIOs, mas sim demonstrar que é possível retirar muito mais do Raspberry Pi do que se imaginava.

Um comentário:

  1. Tem outra maneira de expandir portas? Estou precisando dobras as portas do Raspberry. Fiz um projeto que estou consumindo as portas de um arduino MEGA e as portas do Raspberry

    ResponderExcluir