Índice:
- Etapa 1: O que você precisa
- Etapa 2: construir seu circuito
- Etapa 3: Crie um script para controlar e testar os LEDs
- Etapa 4: Adicionando Flexibilidade Usando Parâmetros e Declarações Condicionais
Vídeo: Como controlar vários LEDs com Python e os pinos GPIO do Raspberry Pi: 4 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:36
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
- 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 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
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:
Como usar os pinos GPIO do Raspberry Pi e Avrdude para o programa Bit-bang DIMP 2 ou DA PIMP 2: 9 etapas
Como usar os pinos GPIO e Avrdude de um Raspberry Pi para o programa Bit-bang DIMP 2 ou DA PIMP 2: Estas são instruções passo a passo sobre como usar um Raspberry Pi e o comando de código aberto gratuito avrdude para bit-bang -programe um DIMP 2 ou DA PIMP 2. Presumo que você esteja familiarizado com o Raspberry Pi e a linha de comando do LINUX. Você não precisa
Pisca LED Com Raspberry Pi - Como usar pinos GPIO no Raspberry Pi: 4 etapas
Pisca LED Com Raspberry Pi | Como usar os pinos GPIO no Raspberry Pi: Olá, pessoal, neste instructables aprenderemos como usar os GPIOs do Raspberry pi. Se você já usou o Arduino, provavelmente sabe que podemos conectar o interruptor LED etc. aos seus pinos e fazer com que funcione como. faça o LED piscar ou obtenha a entrada do interruptor, então
Como acionar muitos LEDs com alguns pinos de microcontrolador: 6 etapas (com imagens)
Como acionar muitos LEDs a partir de alguns pinos do microcontrolador: Usando o fato de que muitos pinos do microcontrolador têm três estados (+ V, GND ou " alta impedência ", você pode acionar N * (N-1) LEDs a partir de N pinos . Portanto, o pequeno microcontrolador de 8 pinos como um PIC12Fxxx ou um ATtiny11 pode acionar 20 LEDs em seus cinco disponíveis
ISP 6 pinos para soquete de 8 pinos: 4 etapas
Soquete de 6 pinos para 8 pinos do ISP: A razão pela qual eu construí este projeto foi programar o ATTiny45, que tem uma conexão de 8 pinos, enquanto meu USBtinyISP (da Ladyada) tem apenas uma conexão de 10 e 6 pinos. Depois de bisbilhotar a internet por cerca de 3-4 semanas, não encontrei nada o que
Substituir halogênios de dois pinos de baixa tensão por LEDs: 6 etapas (com imagens)
Substituir halogênios de dois pinos de baixa tensão por LEDs: Este manual detalha como adaptar facilmente uma luminária de halogênio de dois pinos de baixa tensão (12 V) com um LED de alta potência " lâmpada " que usará menos energia (< 10W), durará mais (50.000 horas) e fornecerá aproximadamente a mesma saída de luz (~ 300 lúmen