Índice:

Como controlar vários LEDs com Python e os pinos GPIO do Raspberry Pi: 4 etapas (com imagens)
Como controlar vários LEDs com Python e os pinos GPIO do Raspberry Pi: 4 etapas (com imagens)

Vídeo: Como controlar vários LEDs com Python e os pinos GPIO do Raspberry Pi: 4 etapas (com imagens)

Vídeo: Como controlar vários LEDs com Python e os pinos GPIO do Raspberry Pi: 4 etapas (com imagens)
Vídeo: Programando o Raspberry PI em PYTHON pinos GPIO #1 2024, Novembro
Anonim
Como controlar vários LEDs com Python e os pinos GPIO do seu Raspberry Pi
Como controlar vários LEDs com Python e os pinos GPIO do seu Raspberry Pi

Este Instructable demonstra como controlar vários pinos GPIO em seu RaspberryPi para alimentar 4 LEDs. Ele também apresentará a você os parâmetros e instruções condicionais em Python.

Nosso instrutivo anterior, usando os pinos GPIO do Raspberry Pi para controlar um LED, demonstra como ligar e desligar um único LED usando o comando GPIO.output. Este Instructable baseia-se nesse conhecimento para ensiná-lo a obter mais controle sobre seu circuito.

Etapa 1: O que você precisa

O que você vai precisar
O que você vai precisar
O que você vai precisar
O que você vai precisar

- Um RaspberryPi com Raspbian já instalado. Você também precisará acessar o Pi usando um monitor, mouse e teclado ou por meio da área de trabalho remota. Você pode usar qualquer modelo de Raspberry Pi. Se você tiver um dos modelos Pi Zero, pode querer soldar alguns pinos de cabeçalho à porta GPIO.

- LEDs vermelho, azul, amarelo e verde

- Uma placa de ensaio de prototipagem sem solda

- 4 resistores de 330 ohms

- Alguns fios de ligação macho para fêmea

Etapa 2: construir seu circuito

Construa Seu Circuito
Construa Seu Circuito
Construa Seu Circuito
Construa Seu Circuito

Construa o circuito acima em sua placa de ensaio, certificando-se de que nenhum dos condutores dos componentes esteja se tocando e que os LEDs estejam conectados da maneira correta.

Como você identifica os terminais positivo e negativo (a polaridade) em seus LEDs? Se você olhar um LED de perto, verá que ele tem duas pequenas peças de metal dentro da caixa colorida. Eles são chamados de ânodo e cátodo. O cátodo é o maior dos dois e também está conectado ao terminal negativo dos LEDs.

Depois de verificar seu circuito, conecte os cabos de jumper dos pinos GPIO do Raspberry Pi seguindo o diagrama acima.

Etapa 3: Crie um script para controlar e testar os LEDs

Crie um script para controlar e testar os LEDs
Crie um script para controlar e testar os LEDs

No seu Raspberry Pi, abra o IDLE (Menu> Programação> Python 2 (IDLE)).

Abra um novo projeto, vá para Arquivo> Novo Arquivo. Em seguida, digite (ou copie e cole) o seguinte código:

importar RPi. GPIO como GPIO

tempo de importação GPIO.setmode (GPIO. BCM) GPIO.setup (17, GPIO. OUT) GPIO.setup (18, GPIO. OUT) GPIO.setup (22, GPIO. OUT) GPIO.setup (23, GPIO. OUT) GPIO.output (17, True) time.sleep (3) GPIO.output (17, False) time.sleep (1) GPIO.output (18, True) time.sleep (3) GPIO.output (18, False) time.sleep (1) GPIO.output (22, True) time.sleep (3) GPIO.output (22, False) time.sleep (1) GPIO.output (23, True) time.sleep (3) GPIO. saída (23, falso)

Salve seu projeto como multilights.py (Arquivo> Salvar como) na pasta Documentos do Raspberry Pis.

No seu Raspberry Pi, abra o Terminal (Menu> Acessórios> Terminal) e navegue até a pasta Documentos digitando o seguinte:

cd / home / pi / Documentos

Agora você pode executar seu novo script digitando o seguinte:

python multilights.py

As luzes acendem e apagam sucessivamente. O script acima usa o comando time.sleep para criar uma pausa entre cada etapa, fazendo com que cada luz permaneça acesa por 3 segundos e espere 1 segundo antes de acender a próxima luz.

Etapa 4: Adicionando Flexibilidade Usando Parâmetros e Declarações Condicionais

Usando parâmetros e instruções condicionais, podemos tornar o script acima muito mais flexível.

Um parâmetro permite que você armazene um valor que pode ser usado posteriormente no script. Os tipos de valores mais comuns são strings (texto), inteiros (números inteiros) ou flutuantes (números decimais).

Uma declaração condicional determinará se um segmento de código deve ou não ser executado, verificando se uma determinada condição é atendida. A condição também pode envolver parâmetros.

Abra o IDLE no seu Raspberry Pi e abra um novo projeto (Arquivo> Novo arquivo). Em seguida, digite o seguinte. Tenha o cuidado de garantir que todos os recuos (tabulações) sejam incluídos usando a tecla tab:

importar RPi. GPIO como GPIO

tempo de importação de sys import argv whichled = argv [1] ledaction = argv [2] LEDa = 17 LEDb = 18 LEDc = 22 LEDd = 23 GPIO.setmode (GPIO. BCM) GPIO.setup (LEDa, GPIO. OUT) GPIO. setmode (GPIO. BCM) GPIO.setup (LEDb, GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDc, GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDd, GPIO. OUT) if ledaction == "off": if whichled == "a": GPIO.output (LEDa, False) if whichled == "b": GPIO.output (LEDb, False) if whichled == "c": GPIO.output (LEDc, False) se whichled == "d": GPIO.output (LEDd, False) if whichled == "all": GPIO.output (LEDa, False) GPIO.output (LEDb, False) GPIO. output (LEDc, False) GPIO.output (LEDd, False) if ledaction == "on": if whichled == "a": GPIO.output (LEDa, True) if whichled == "b": GPIO.output (LEDb, True) if whichled == "c": GPIO.output (LEDc, True) if whichled == "d": GPIO.output (LEDd, True) if whichled == "all": GPIO.output (LEDa, True) GPIO.output (LEDb, True) GPIO.output (LEDc, True) GPIO.output (LEDd, True)

Salve seu projeto como controllight.py (Arquivo> Salvar como) na pasta Documentos. Agora abra o Terminal (Menu> Acessórios> Terminal) e digite o seguinte comando:

python controllight.py b on

O segundo LED deve acender. Agora digite o seguinte:

python controllight.py b off

O segundo LED deve desligar.

Nas linhas 5, 6, 7 e 8, criamos os parâmetros LEDa, LEDb, LEDc e LEDd para armazenar qual pino GPIO conectamos a qual LED. Isso nos permite usar pinos GPIO alternativos sem ter que fazer alterações substanciais no script.

Por exemplo, se conectássemos o primeiro cabo de LED ao Pino 3 (GPIO 2), precisaríamos apenas mudar a linha 5 para o seguinte:

LEDa = 2

A linha 4 armazena os valores digitados após controllight.py nos parâmetros whichled (c) e ledaction (on). O script então usa esses parâmetros, junto com uma série de declarações condicionais para decidir qual LED controlar e se deve ligá-lo ou desligá-lo.

A linha 16 (se ledaction == "on":) é uma declaração condicional. As linhas recuadas que seguem esta instrução só serão executadas se a condição da instrução for atendida. Nesse cenário, a condição é que ledaction contenha o texto sobre.

Ao ler as outras declarações condicionais do script, você pode prever o que acontecerá quando digitar o seguinte comando no Terminal?

python controllight.py tudo ligado

Por que não experimentar e postar sua resposta na seção de comentários abaixo.

Recomendado: