Piscando um LED com a Raspberry Pi - MakerHero
Piscando um LED com a Raspberry Pi

Piscando um LED com a Raspberry Pi

Deixe um comentário

Nesta aula, vamos aprender a montar um circuito simples para piscar um LED usando a Raspberry Pi. Este projeto introduz conceitos práticos de prototipagem eletrônica, permitindo que você entenda como utilizar os pinos GPIO da placa Raspberry Pi para controlar componentes externos, como LEDs.

Piscando um LED com a Raspberry Pi: Materiais Necessários

Para montar o circuito para piscar um LED com a Raspberry Pi, vamos precisar dos seguintes materiais:

Circuito para piscar um LED com a Raspberry Pi

Assim como foi apresentado na aula anterior, Prototipagem Eletrônica com a Raspberry Pi, vamos utilizar os pinos de GPIO da Raspberry Pi como fonte de energia para acender o LED. O circuito ficará da seguinte forma:

Circuito para piscar um LED com a Raspberry Pi

Ao conectar um LED na protoboard, é importante prestar atenção à sua polaridade, assim como a de outros componentes que possuem lado positivo (“+”) e negativo (“-”). Se conectado de forma invertida, esses componentes podem ser danificados. No caso do LED, a haste (perna) mais longa indica o terminal positivo (ânodo), enquanto a haste mais curta indica o terminal negativo (cátodo). 

Circuito para piscar um LED com a Raspberry Pi

Outra maneira de identificar a polaridade é observar o formato do LED: o lado achatado corresponde ao terminal negativo e o lado arredondado ao terminal positivo. Para aprender mais sobre o funcionamento deste componente, acesse a aula sobre LEDs no nosso Guia de Componentes Eletrônicos.  

Ao contrário do LED, um resistor não possui polaridade, ou seja, pode ser conectado em qualquer direção. No circuito, um resistor é usado para limitar o fluxo de corrente elétrica, protegendo componentes como o LED de correntes excessivas. Para aprender mais sobre o funcionamento deste componente, acesse a aula sobre resistores no nosso Guia de Componentes Eletrônicos.

Abaixo está representado o circuito de montagem para piscar um LED com a Raspberry Pi:

circuito de montagem

O circuito montado de acordo com o esquema ficará como mostrado na foto abaixo:

circuito de montagem

Código Python para piscar um LED com a Raspberry Pi

O código fornecido para piscar um LED em diferentes versões da Raspberry Pi (Raspberry Pi 5 e Raspberry Pi 4 ou anteriores) utiliza diferentes bibliotecas para controle do GPIO, conforme as capacidades de hardware e software de cada versão.

Código para piscar um LED na Raspberry Pi 5:

# Bibliotecas utilizadas
import gpiod
import time

# Define o pino GPIO 18 como o pino do LED
PINO_LED = 18

# Cria um objeto 'chip' para representar o dispositivo GPIO
chip = gpiod.Chip('gpiochip0')

# Obtém uma linha de GPIO específica para o pino LED
led = chip.get_line(PINO_LED)

# Solicita a linha de GPIO para ser usada como saída (LED)
led.request(consumer="LED", type=gpiod.LINE_REQ_DIR_OUT)

# Loop infinito para piscar o LED
while True:
    led.set_value(1) # Acende o LED
    time.sleep(1) # Aguarda meio segundo
    led.set_value(0) # Apaga o LED
    time.sleep(1) # Aguarda meio segundo

Código para piscar um LED na Raspberry Pi 4 (ou modelos anteriores):

# Bibliotecas utilizadas
import RPi.GPIO as GPIO
import time

# Configura o modo de numeração dos pinos
GPIO.setmode(GPIO.BOARD)

# Define o pino 12 como o pino do LED
pinoLED = 12

# Configura o pino do LED como saída
GPIO.setup(pinoLED, GPIO.OUT)

# Loop infinito para piscar o LED
while True:
    GPIO.output(pinoLED, True)  # Acende o LED
    time.sleep(1)  # Aguarda meio segundo
    GPIO.output(pinoLED, False)  # Apaga o LED
    time.sleep(1)  # Aguarda meio segundo

Estes códigos fazem com que o LED ligado ao pino 12 (GPIO 18) da Raspberry Pi pisque continuamente, acendendo e apagando a cada 1 segundo.

piscar um LED com a Raspberry Pi

Introdução ao Conceito de Loop e Temporização

Nos projetos de eletrônica com a Raspberry Pi, é comum precisar executar ações repetidas ao longo do tempo, como acender e apagar um LED em intervalos regulares. Para isso, utilizamos dois conceitos fundamentais na programação: loop e temporização.

Um loop é uma estrutura de controle que permite que um bloco de código seja executado repetidamente, conforme uma condição específica. No caso da Raspberry Pi, o loop mais comum é o while, que executa um conjunto de instruções enquanto uma condição for verdadeira. Isso é extremamente útil para tarefas que precisam ser repetidas continuamente, como verificar o estado de um sensor ou alternar o estado de um LED.

Por exemplo, um loop infinito em Python pode ser criado com o seguinte código:

while True:
    # Código a ser repetido indefinidamente

Este loop continuará a executar o bloco de código dentro dele até que o programa seja interrompido manualmente ou uma condição de parada seja encontrada.

Já a temporização refere-se à capacidade de controlar o tempo entre a execução de diferentes partes do código. Em muitos projetos de eletrônica, é importante garantir que certas ações ocorram em intervalos regulares de tempo. Isso pode ser conseguido usando a função time.sleep() da biblioteca time em Python.

A função time.sleep(x) pausa a execução do programa por x segundos. Por exemplo:

time.sleep(0.5)  # Pausa a execução por meio segundo

Isso é extremamente útil quando se deseja criar uma pausa entre duas ações, como manter um LED aceso por um determinado tempo antes de apagá-lo.

Possíveis Erros

Se o projeto não estiver funcionando como esperado, considere verificar alguns dos erros mais comuns:

  • Erro ao executar o programa: Se ocorrer algum erro ao tentar executar o programa, leia atentamente a mensagem de erro exibida. Tente identificar a causa ou reinicie o programa desde o início.
  • Conexões dos jumpers: Verifique se os jumpers estão corretamente posicionados na mesma coluna que os terminais dos componentes, garantindo a conexão apropriada na protoboard.
  • Ligação dos jumpers nos pinos corretos: Certifique-se de que os jumpers estão conectados aos pinos corretos da placa Raspberry Pi, conforme indicado no esquema de ligação.
  • Polaridade do LED: Verifique se o LED não está conectado de forma invertida; o terminal positivo (perna mais longa) deve estar na posição correta.

Revisando esses pontos, você poderá identificar e corrigir a maioria dos problemas que podem ocorrer durante a execução do projeto.

Faça seu comentário

Acesse sua conta e participe