Aula 10: Pisque um LED com a GPIO

Agora que vimos um pouco sobre como funcionam os pinos de GPIO da Raspberry Pi, vamos colocar os conhecimentos em prática nesta aula e montar alguns circuitos trabalhando as entradas e saídas da Raspberry Pi, começando com um uso de saída.

A fim de utilizar um dos pinos da Raspberry Pi como saída iremos fazer piscar um LED, é o circuito mais simples possível mas que ilustra muito bem. Os conceitos aprendidos neste exemplo funcionam no acionamento de outros dispositivos como ventilador, lâmpadas, motores e etc.

Gif de funcionamento

Na montagem do circuito, vamos precisar de:

1x LED 5 mm
1x Resistor 150 ohm
1x Protoboard
2x Jumpers macho-fêmea

Montagem do circuito

Como no exemplo apresentado na aula anterior, vamos utilizar o pino GPIO Raspberry Pi como fonte de energia para acender o LED. O circuito ficará da seguinte forma:

Adaptar imagem

CIrcuito alternativo pisca LED

Você deve se atentar ao colocar o LED na protoboard, ele, assim como alguns componentes, possui um lado positivo “+” e um lado negativo “-“, essa característica também é conhecida como polaridade. Esses componentes, se ligar de modo invertido, ele não irá funcionar e pode até acabar danificando. A haste (perna) maior do LED é o lado positivo e a menor é o lado negativo. Você pode ver também pelo lado mais achatado, que é o lado negativo enquanto o lado arredondado é o positivo.

Pinagem do LED

A montagem correta de um LED em uma protoboard é feita como mostrado na figura abaixo. Os dois terminais do LED não podem ficar na mesma coluna da protoboard, lembrando que os furos das colunas são conectados entre si na vertical. Esse mesmo princípio de montagem se aplica também a outros componentes do kit.

Adaptar imagem

Ligação do LED errada

Ligação do LED certa

 

Você pode ligar um resistor tranquilamente pois ele não tem polaridade, ou seja, tanto faz o lado que é conectado. Uma das aplicações de um resistor, e a utilizada neste circuito, é limitar o fluxo da corrente elétrica que passa em um circuito. Deve-se atentar, entretanto, às cores dos resistores, o valor do resistor é fixo e é indicado pelas faixas de cores pintada nele. No kit temos dois tipos: 150 ohm e 10k ohm. Na dúvida, você também pode olhar no pacote 

Adaptar imagem

Em todos os circuitos apresentados, vamos apresentar um esquema para auxiliar na conexão. Não é necessário conectar os componentes exatamente nos mesmos furos como indicados, basta seguir a lógica de conexão de uma protoboard.

O circuito montado ficará assim:

Foto do circuito montado

Programa

A programação deste projeto é bastante simples. São usadas duas bibliotecas que já vem instaladas no Raspbian, então não precisam ser instaladas, como a API do Twitter. Sempre veja os comentários no código, eles vão ajudar a entender o funcionamento.

#Bibliotecas utilizadas
import RPi.GPIO as GPIO #Para utilizar os pinos de GPIO
import time #Para usar o time.sleep

GPIO.setmode(GPIO.BOARD)

pinoLED = 12 #vamos utilizar o pino 12 da placa

# Define o pino do LED como saida
GPIO.setup(pinoLED, GPIO.OUT)

while(1): #Repete esta secao sempre
    GPIO.output(pinoLED, True) #Acende o LED
    time.sleep(0.5) #Aguarda meio segundo
    GPIO.output(pinoLED, False) #Apaga o LED
    time.sleep(0.5)

Repare no comando “while(1)“, ele é como um laço “infinito”, o programa vai continuar ali até ser parado por algo externo (como o comando Ctrl+C). Veja como tudo após ele está indentado, pois tudo está dentro deste laço. Essa estrutura é bastante usada em programas como esse.

Experimente montar o circuito em lugares diferentes da protoboard, faça experimentos, veja se entendeu a lógica dela. Esse conhecimento é essencial na hora de você montar os próprios projetos no futuro. Tente também mudar a velocidade com que pisca o LED.

Possíveis erros

Caso o projeto não funcione, verifique alguns dos possíveis erros:

  • Quando você manda executar o programa, aparece algum erro? Tente ver o erro ou começar o programa de novo do zero;
  • Verifique se os jumpers estão na mesma coluna dos terminais dos componentes, fazendo assim a conexão;
  • Verifique se os jumpers estão ligados nos pinos corretos na placa;
  • Verifique se o LED não está conectado invertido.