Seu Curso

  • Full Screen
  • Wide Screen
  • Narrow Screen
  • Increase font size
  • Default font size
  • Decrease font size

Controlando um LED no Raspberry PI

Imprimir
Avaliação do Usuário: / 4
PiorMelhor 

 

É possível usar o Raspberry Pi como um microcontrolado, assim como é o Arduino, por exemplo. Mas as vantagens são imensas e inúmeras, sendo que posso citar algumas: o Raspberry Pi possui um sistema operacional onde é possível instalar servidores de quase todos os tipos que facilitam, por exemplo, o controle de equipamentos pela WEB; o Raspberry Pi possui um processador bastante rápido se comparado aos microcontroladores além de possuir portas LAN, USB, som e vídeo integradas; a conexão com uma rede e com a Internet torna praticamente possível controlar qualquer coisa a distância e etc.

 

Antes de começarmos qualquer coisa dê uma olhada no tutorial Pinos GPIO do Raspberry PI B e B+. Lá você encontrará a descrição de cada pino GPIO disponível no seu Raspberry PI.

 

Usarei o modelo B para esse tutorial, mas você pode usar qualquer modelo, inclusive o A+ ou o B+, basta você adaptar o código aos pinos que estiver utilizando.

 

Para esse exemplo precisaremos de um LED comum, um resistor de pelo menos 180 ohms, uma protoboard e alguns fios para ligação.

 

Vamos a montagem:

 

Ligue o LED ao protoboard.

 

 

 

 

Na perna positiva (maior) do LED ligue o resistor.

 

 

 

 

Ligue o resistor ao pino 7 (GPIO 4) do Raspberry PI.

 

 

 

 

Ligue a perna negativa (menor) do LED ao pino 6 (GND) do Raspberry PI.

 

 

 

 

Vamos ao código:

 

Primeiro, para acessar os pinos GPIO precisamos exportar eles para o sistema de arquivos. Os pinos GPIO são controlados através de arquivos existentes no diretório /sys/class/gpio.

 

Nesse diretório há dois arquivos um chamado export e outro unexport. Também há um link para o local onde está identificado o chip controlador dos pinos GPIO.

 

 

 

 

Para usar qualquer GPIO é preciso exportá-lo para o sistema de arquivos, para isso bastar enviar o número do pino GPIO desejado ao arquivo export do diretório mencionado acima:

 

echo 4 > /sys/class/gpio/export

 

Depois desse comando será criado mais um link no diretório /sys/class/gpio com o nome do GPIO que você exportou, no nosso caso gpio4:

 

 

 

 

Nesse diretório há 5 arquivos:

 

active_low

direction

edge

uevent

value

 

Um diretório:

 

power

 

E um link:

 

subsystem

 

 

 

 

A utilidade de cada um desses arquivos, diretório e link ficará para um próximo tutorial (quem sabe escrito por você). Mas note que colocamos valores nesses arquivos para usar o GPIO, assim ficará fácil de deduzir para que servem.

 

O próximo passo é ajustar a direção do GPIO, que no nosso caso será de saída:

 

echo out > /sys/class/gpio/gpio4/direction

 

Agora vamos colocar o valor 1 no GPIO:

 

echo 1 > /sys/class/gpio/gpio4/value

 

Com isso o LED deve acender!

 

 

 

 

Para apagá-lo use o código:

 

echo 0 > /sys/class/gpio/gpio4/value

 

Muito simples, né?! :)

 

Com um pouco de conhecimento de programação Shell podemos fazê-lo piscar indefinidamente:

 

#!/bin/sh
echo 4 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio4/direction
while [ 0 ]
do
 echo 1 > /sys/class/gpio/gpio4/value
 sleep 1
 echo 0 > /sys/class/gpio/gpio4/value
 sleep 1
done

 

O comando while criará um loop infinito e o comando sleep pausará a execução do script por um segundo.

 

Com isso e imaginação você pode controlar quantos LEDs forem possível com as GPIO disponíveis.

 

 

 

 

Adicionar comentário


Código de segurança
Atualizar

You are here: