Aula 6: Aprenda a piscar um LED

Agora que vimos um pouco sobre como funcionam os pinos de GPIO da Raspberry Pi, vamos colocar estes conhecimentos em prática! Nesta aula iremos montar um circuito simples mas que ilustra muito bem o conceito e a utilização dos pinos de GPIO como saídas: piscaremos um LED utilizando uma saída digital da Raspberry. Os conceitos aprendidos neste exemplo funcionam (com algumas adaptações) no acionamento de outros dispositivos como ventiladores, lâmpadas, motores e etc.

Pisque um LED

Material Necessário

Na montagem do circuito, vamos precisar de:

Circuito para piscar um LED

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

Circuito pisque um LED

Você deve se atentar ao colocar o LED na protoboard pois ele, assim como alguns componentes, possui um lado positivo “+” e um lado negativo “-“, característica essa também conhecida como polaridade. Se você ligar esse tipo de componente de forma invertida, pode até danificá-lo. A haste (perna) maior do LED é o lado positivo e a menor é o lado negativo. Você pode ver também pelo lado mais achatado do LED, que é o lado negativo enquanto o lado arredondado é o positivo.

Terminais 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.

Conexão protoboard incorreta

Conexão protoboard correta

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 impressas nele. 

Resistores

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

Circuito pisque um LED

O circuito montado ficará assim:

Resultado pisque um LED

Código para piscar um LED

A programação deste projeto é bastante simples. Primeiro importamos duas bibliotecas que serão usadas no programa (linhas 2 e 3). Estas bibliotecas que já vem instaladas no Raspbian, então não precisam ser instaladas. Em seguida foi configurado o modo de definição dos pinos GPIO (linha 4). Depois, declaramos que a porta 12 será chamada de “pinoLED” (linha 5) e que a mesma será uma saída (linha 7). Por fim, o programa repete infinitamente a seguinte sequência: acende o LED (linha 9) e o mantém acesso por 0,5 segundos (linha 10), apaga o LED (linha 11) e o mantém apagado por 0,5 segundos (linha 12). 

# 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 saída
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) # Aguarda meio segundo

Repare no comando “while(1)” (linha 8), neste caso ele é sempre verdadeiro, funcionando como um laço “infinito”. O programa vai continuar ali até ser parado por algo externo (como o comando Ctrl+C). Perceba como tudo após o “while (1)” 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.