Manual
do
Maker
.
com
Essa é uma dica simples, mas não quis deixar de escrever porque apesar de simples, é útil. Com esse programinha você pode fazer acesso por ssh e manipular um pino do GPIO do Raspberry. Está bem básico:
Tudo através de um menu em curses, feito com o programa dialog. Tudo o que você precisa fazer é instalar o programa dialog:
sudo apt-get install dialog
Depois, salve o código em um arquivo. Por exemplo, gpioControl.sh.
#!/bin/sh
INPUT=1
OUTPUT=2
LOW=0
HIGH=1
setState(){
[ -L /sys/class/gpio/gpio$PIN ] || {
dialog --infobox "O pino nao esta disponivel no sistema. Saindo..." 5 55
return
}
echo $1 >/sys/class/gpio/gpio$PIN/value
}
PINS=`for i in 4 6 12 13 16 17 18 19 21 22 23 24 26 27; do echo $i "Pino_$i"; done`
PIN=`dialog --title "Manual do Maker - GPIO" --menu "Selecione um pino do header" 15 55 5 $PINS --stdout`
[ $? -eq 1 ] && clear && return
DIRECTION=`dialog --title "Manual do Maker - Direction" --menu "Selecione direcao" 15 55 5 1 "INPUT" 2 "OUTPUT" --stdout`
[ $? -eq 1 ] && clear && return
if [ $DIRECTION -eq $OUTPUT ]; then
echo "out" >/sys/class/gpio/gpio$PIN/direction
STATE=`dialog --title "Manual do Maker - State" --menu "Selecione estado do pino" 15 55 5 0 "LOW" 1 "HIGH" --stdout`
[ $? -eq 1 ] && clear && return
if [ $STATE -lt $HIGH ]; then
setState $LOW
else
setState $HIGH
fi
else
echo "in" >/sys/class/gpio/gpio$PIN/direction
fi
Então, dê um bit de execução para o script e execute-o como root:
chmod 700 gpioControl.sh
sudo su
./gpioControl.sh
Muita atenção ao conectar o módulo relé. Ele deve ser conectado ao 3V3 devido ao nível lógico dos pinos do Raspberry, que não são tolerantes a 5V. Meu módulo funcionou em 3V3 sem problemas.
Conectei um dos pinos de sinal no GPIO4. Meu módulo relé tem lógica invertida, então ele liga em LOW.
Ao executar o script, abrir-se-á um menu. Depois, deve selecionar INPUT ou OUTPUT. Se selecionar INPUT, o script termina em seguida.
E por fim, selecionar o estado. Como meu módulo é lógica invertida, ele aterra no pino de GPIO. Não sei se é mais arriscado drenar corrente ou receber uma tensão de 5V no pino, mas de qualquer modo, lembre-se: Conecte o módulo no pino 3V3.
Dá pra implementar borda para INPUT, dá pra implementar interrupção e mais algumas coisinhas. Só fiz o básico pra, que sabe, servir de motivação para você fazer uma implementação melhor.
E claro, esse shield dá uma bela força pra não errar o wiring. Não precisa de imagem do pinout, nem contar pinos no Raspberry, é só olhar o silk em cima do shield.
Dê uma olhada, acho que você também vai gostar desse shield da Usina, nesse link.
Inscreva-se no nosso canal Manual do Maker no YouTube.
Também estamos no Instagram.
Autor do blog "Do bit Ao Byte / Manual do Maker".
Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.