Ligue e desligue um LED com o Raspberry Pi e o Python.
Comentáriosⓘ Cet article peut avoir été partiellement ou totalement traduit à l'aide d'outils automatiques. Nous nous excusons des erreurs que cela pourrait engendrer.
Este tutorial é o primeiro de uma série dedicada ao uso das portas GPIO do Raspberry Pi para controlar componentes eletrônicos.
Como você provavelmente sabe, o Raspberry Pi tem portas chamadas GPIO (General Purpose Input Output), que permitem controlar uma série de componentes eletrônicos.
Neste tutorial, veremos como usar essas portas GPIO para controlar um LED com o Raspberry Pi.
O equipamento necessário
Para seguir este tutorial, você precisará dos seguintes materiais:
- um Raspberry Pi
- a comida dele
- seu cartão MicroSD
- um kit eletrônico básico, com LEDs, resistores e placa de teste.
Este tutorial pode ser seguido completamente sem a necessidade de soldar nenhum componente.
Além disso, você precisará ter o Raspbian instalado em seu cartão SD e ter uma maneira de controlar seu Raspberry Pi, diretamente via teclado / mouse / tela ou via SSH.
O básico sobre GPIOs
As portas GPIO são portas físicas geralmente na forma de pinos de metal quadrados que permitem que um sinal elétrico seja transmitido.
Uma porta GPIO transmite um sinal relativamente binário (sem corrente ou corrente). No caso do Raspberry Pi, as portas GPIO funcionam a 3,3 V e cerca de 20 mA.
Portas GPIO são, portanto, uma maneira simples de comunicar ou controlar elementos físicos.
Os modelos mais recentes do Raspberry Pi possuem 40 conectores GPIO, que são divididos em diferentes categorias com usos específicos.
- Power +: fonte de alimentação contínua
- GND: Ground = Return to earth
- I2C: protocolo serial síncrono
- SPI: Outro protocolo serial síncrono
- UART: protocolo assíncrono + conversão de comunicação serial para paralela.
- GPIO: Porta geral que pode ser transformada opcionalmente em I2C ou SPI.
As portas GPIO são numeradas de 1 a 40, começando do canto superior esquerdo quando você segura as portas GPIO do Raspberry pi à direita. Este é o denominado modo de numeração "Quadro". Existe outro modo de numeração, que é baseado no endereçamento do processador, denominado modo "BCM".
No contexto deste tutorial, usaremos apenas as portas do tipo GPIO e GND e a numeração "Board".
Conecte o LED ao Raspberry Pi
Para fazer nossa conexão usaremos os seguintes componentes: um LED, um resistor, uma bread-board e o Raspberry.
A primeira etapa do nosso tutorial será projetar o circuito conectando o LED ao Raspberry Pi. Não se preocupe, é muito simples e não teremos que fazer diagramas complicados!
Como escolher a resistência?
A primeira coisa a saber é que um LED deve sempre usar um resistor. Isso ocorre porque os LEDs têm o que é chamado de "tensão limite". Simplificando, um pouco de corrente a mais e o LED queima imediatamente, então o resistor é uma proteção.
Portanto, teremos que escolher qual resistência usar. Para isso, existe uma fórmula matemática para calcular o tamanho do resistor a ser usado.
Rmin = (Ualim - Uled) / Imax
A menos que você tenha algumas boas sobras de sua aula de física, eu acho que não vai te levar muito longe. Pequena explicação:
- Rmin: Resistência mínima para uso, expressa em ohms (Ω)
- Ualim: Tensão de alimentação, expressa em volts (V)
- Uled: tensão limite do LED, expressa em volts (V)
- Imax: A intensidade máxima do LED, expressa em amperes (A)
Como dissemos, nossos GPIOs fornecem 3,3 V e 20 mA. O LED tem uma intensidade máxima de 20 mA (20 mA = 0,020 A) e uma tensão de limiar de 1,5 e 1,9 V.
A fórmula é, portanto, a seguinte:
Rmin = (3.3 - 1.5) / 0.020
Portanto, obtemos uma resistência mínima de 90 Ω, que arredondaremos para 100 Ω. Vamos ocupar algum espaço escolhendo um resistor de 270 Ω (ou 330 Ω, valores normalizados), protegendo-nos assim de um possível pico de corrente no GPIO.
Para encontrar o valor de uma resistência, duas possibilidades:
- Isso é anotado na tira de papel que mantém os LEDs juntos.
- Você precisa ler os anéis coloridos no resistor para calcular seu valor. Você encontrará tutoriais e sites online para ajudá-lo. (100 Ω = marrom-preto-marrom, 270 Ω = vermelho-roxo-marrom e 330 Ω = laranja-laranja-marrom)
Conecte o LED aos GPIOs do Raspberry Pi
Agora que sabemos qual resistor usar, só temos que conectar tudo ao Raspberry Pi.
Para isso, pegue dois cabos Dupont macho / fêmea, vamos escolher um cabo vermelho para a fonte de alimentação e um cabo preto para o retorno à terra (é uma convenção).
Conecte o cabo vermelho à porta GPIO 7 e o cabo preto à porta GPIO 6.
Conecte os dois cabos à placa de ensaio separados por algumas linhas. Conecte o cabo vermelho ao ânodo de seu LED (a perna alongada ou longa), uma perna do resistor ao cátodo (a outra perna do LED, a perna curta portanto) e a outra perna do resistor ao cabo preto.
Dica: Está tendo problemas para lembrar qual perna é o ânodo e qual é o cátodo? Mnemônico simples, o ânodo alongado se alimenta!
Não está muito claro? Não entre em pânico, "um pequeno desenho é melhor do que um longo discurso!"
Se você quiser ter certeza de que tudo está funcionando bem, um pequeno teste simples é possível. Desconecte o cabo vermelho do GPIO # 7 e conecte-o ao # 1. Isso fornece 3,3 V permanentemente, se a fiação estiver correta, o LED ficará aceso :)!
Escreva o programa para controlar o LED com o Raspberry
Agora que nosso circuito está pronto, só temos que escrever o programa para controlar as portas GPIO para ligar e desligar o LED.
Para isso, vamos usar a linguagem de programação Python. Neste tutorial vamos ficar muito básicos, e vamos apenas dar um exemplo de um programa explicando como usá-lo e como ele funciona.
Portanto, este não é um curso Python. No entanto, se você quiser, publicamos recentemente um curso Introdutório ao Python que vai te ensinar como usar o Python para escrever seus próprios programas para seus projetos!
Então crie uma pasta /home/pi/electronic
e um arquivo led.py
nessa pasta e escreva o seguinte código lá:
Observe que os textos por trás #
são comentários usados para explicar o que o código faz, mas não têm influência no programa. Você não precisa copiá-lo, exceto para as duas primeiras linhas.
#!/usr/bin/env python3
#-- coding: utf-8 --
import RPi.GPIO as GPIO #Importe la bibliothèque pour contrôler les GPIOs
GPIO.setmode(GPIO.BOARD) #Définit le mode de numérotation (Board)
GPIO.setwarnings(False) #On désactive les messages d'alerte
LED = 7 #Définit le numéro du port GPIO qui alimente la led
GPIO.setup(LED, GPIO.OUT) #Active le contrôle du GPIO
state = GPIO.input(LED) #Lit l'état actuel du GPIO, vrai si allumé, faux si éteint
if state : #Si GPIO allumé
GPIO.output(LED, GPIO.LOW) #On l’éteint
else : #Sinon
GPIO.output(LED, GPIO.HIGH) #On l'allume
Feito isso, tornaremos o programa executável. Para fazer isso, basta executar o seguinte comando:
chmod +x /home/pi/electronic/led.py
Tudo que você precisa fazer é executar o script chamando-o assim:
/home/pi/electronic/led.py
Cada vez que você executa o script, o LED acenderá se estiver apagado e apagará se estiver aceso.
E aí está, agora você sabe o básico para ligar e desligar um LED com o Raspberry Pi. Tudo que você precisa fazer é adaptar o código para atender às suas necessidades. Para isso, não hesite em consultar nosso curso de Python!
Tudo que você precisa fazer é seguir para o próximo tutorial desta série, ler um cartão RFID com o Raspberry Pi!