Como posso usar os pinos GPIO como saídas digitais?

28

Eu li que o Raspberry Pi tem vários pinos de entrada e saída.

  • Como posso trocá-los? (do Python?)
  • Qual lógica de tensão?
  • Preciso de resistores pull-up ou pull-down?
  • Preciso mudar os pinos de entradas para saídas?
  • Quais pinos estão disponíveis?
Alex L
fonte
Sua segunda pergunta não está clara
Sohan Arafat 25/10

Respostas:

16

Os pinos do GPIO são de 3,3 V e a corrente máxima é de 16 mA. Isso significa que você não conseguirá alimentar quase nada diretamente. É por isso que você precisa pelo menos usar uma chave de transistor, se não um circuito de proteção mais avançado. Você pode ler mais sobre eles no Tutorial RPi EGHS: Circuitos de proteção GPIO .

Um guia geral são os periféricos de baixo nível RPi .

Gil
fonte
3
Você poderia, por favor, expandir sua resposta? Gostaria de ver todas as perguntas respondidas e as informações nos links fornecidas resumidas. No momento em que as informações sobre RTC está incorreta (RTC é irrelevante)
Alex L
11

Essas instruções não são específicas do Python, mas podem ajudar você a começar a experimentar o GPIO. /raspberrypi//a/350/668 possui informações sobre uma biblioteca e uso específico para Python.

Quando você inicializa o seu Raspberry Pi usando a distribuição Debian recomendada, o GPIO fica desativado. Você precisa habilitar cada pino individualmente.

Se você estiver fazendo isso via / sys , encontrará "Caminhos no Sysfs" interessantes (pesquise em https://www.kernel.org/doc/Documentation/gpio/sysfs.txt ). Em particular, você ativaria um pino "exportando" ele. Todos os comandos abaixo assumem que você está executando como privilégios de root (sudo ou não) ou alterou as permissões / propriedade dos arquivos virtuais que estão sendo modificados.

echo 4 > /sys/class/gpio/export

Isso permite que o pino GPIO # 4, que faz com que / sys / class / gpio / gpio4 exista, que contém vários arquivos virtuais. Esses arquivos incluem "direção", que define se é um pino de entrada ou saída, "valor", que é somente leitura para entrada ou gravável para saída e contém o valor atual e outros.

echo out > /sys/class/gpio/gpio4/direction # set it as an output pin
echo 1 > /sys/class/gpio/gpio4/value # set the value to ON
echo 0 > /sys/class/gpio/gpio4/value # set the value to OFF
echo in > /sys/class/gpio/gpio4/direction # set it as input
cat /sys/class/gpio/gpio4/value # get the value
echo 4 > /sys/class/gpio/unexport # disables pin 4 and removes the gpio4 directory

É claro que você provavelmente preferirá usar alguma biblioteca preexistente para fazer o GPIO fornecido ou compatível com o idioma de sua escolha. Mas se você está querendo algo simples, basta fazer a interface diretamente com o sysfs para fazer o GPIO muito básico.

Emmaly Wilson
fonte
0

Importe a biblioteca python e você pode controlar facilmente os pinos. Existem muitos tutoriais on-line. Você precisa e utiliza ide com suporte a python e conhecimento básico sobre programação em python.

Os pinos GPIO estão disponíveis para entradas e saídas.

Sohan Arafat
fonte