- Display de sete segmentos:
- Componentes necessários:
- Circuito e explicação de funcionamento:
- Explicação de programação:
Raspberry Pi é uma placa baseada em processador de arquitetura ARM projetada para engenheiros eletrônicos e amadores. O PI é uma das plataformas de desenvolvimento de projeto mais confiáveis que existe agora. Com maior velocidade do processador e 1 GB de RAM, o PI pode ser usado para muitos projetos de alto perfil, como processamento de imagem e IoT.
Para fazer qualquer um dos projetos de alto nível, é necessário compreender as funções básicas do PI. Estaremos cobrindo todas as funcionalidades básicas do Raspberry Pi nestes tutoriais. Em cada tutorial, discutiremos uma das funções do PI. Ao final desta série de tutoriais do Raspberry Pi, você será capaz de aprender o Raspberry Pi e fazer bons projetos sozinho. Passe pelos tutoriais abaixo:
- Primeiros passos com Raspberry Pi
- Configuração Raspberry Pi
- LED piscando
- Interface de botão
- Geração Raspberry Pi PWM
- Interface LCD com Raspberry Pi
- Motor DC de controle
- Controle de motor de passo
- Interfacing Shift Register
- Tutorial do Raspberry Pi ADC
- Controle servo motor
- Touch Pad capacitivo
Neste tutorial, faremos a interface do display de 7 segmentos do Raspberry Pi. Monitores de sete segmentos são os mais baratos para uma unidade de exibição. Alguns desses segmentos empilhados podem ser usados para exibir a temperatura, o valor do contador etc. Vamos conectar a unidade de exibição de 7 segmentos ao GPIO do PI e controlá-los para exibir os dígitos de acordo. Depois disso, escreveremos um programa em PYTHON para exibir sete segmentos para contagens de 0-9 e se redefinir para zero.
Display de sete segmentos:
Existem diferentes tipos e tamanhos de monitores de 7 segmentos. Cobrimos o Seven Segment trabalhando em detalhes aqui. Basicamente, existem dois tipos de 7 segmentos, tipo ânodo comum (positivo comum ou VCC comum) e tipo cátodo comum (negativo comum ou terra comum).
Ânodo comum (CA): Neste, todos os terminais negativos (cátodo) de todos os 8 LEDs são conectados entre si (veja o diagrama abaixo), chamados de COM. E todos os terminais positivos são deixados sozinhos.
Cátodo Comum (CC): Neste todos os terminais positivos (Anodos) de todos os 8 LEDs são conectados juntos, chamados de COM. E todas as térmicas negativas são deixadas sozinhas.
Esses monitores CC e CA de sete segmentos são muito úteis durante a multiplexação de várias células. Em nosso tutorial, usaremos CC ou display de sete segmentos de cátodo comum.
Já fizemos a interface de 7 segmentos com 8051, com Arduino e com AVR. Também usamos display de 7 segmentos em muitos de nossos projetos.
Discutiremos um pouco sobre Raspberry Pi GPIO antes de prosseguirmos, Existem 40 pinos de saída GPIO no Raspberry Pi 2. Mas de 40, apenas 26 pinos GPIO (GPIO2 a GPIO27) podem ser programados, veja a figura abaixo. Alguns desses pinos executam algumas funções especiais. Com GPIO especial colocado de lado, temos 17 GPIO restantes.
O sinal de + 3,3 V do GPIO (pino 1 ou 17) é suficiente para acionar o Display de 7 segmentos. Para fornecer o limite de corrente, usaremos o resistor de 1KΩ para cada segmento, conforme mostrado no Diagrama de Circuito.
Para saber mais sobre os pinos GPIO e suas saídas de corrente, vá até: LED piscando com Raspberry Pi
Componentes necessários:
Aqui, estamos usando o Raspberry Pi 2 Model B com o Raspbian Jessie OS. Todos os requisitos básicos de hardware e software foram discutidos anteriormente. Você pode consultá-los na introdução do Raspberry Pi, exceto o que precisamos:
- Pinos de conexão
- Visor de cátodo comum de 7 segmentos (LT543)
- 1KΩresistor (8 peças)
- Tábua de pão
Circuito e explicação de funcionamento:
As conexões, que são feitas para a interface do display de 7 segmentos com o Raspberry Pi, são fornecidas abaixo. Usamos o segmento de cátodo 7 comum aqui:
PIN1 ou e ------------------ GPIO21
PIN2 ou d ------------------ GPIO20
PIN4 ou c ------------------ GPIO16
PIN5 ou h ou DP ---------- GPIO 12 // não obrigatório, pois não estamos usando o ponto decimal
PIN6 ou b ------------------ GPIO6
PIN7 ou um ------------------ GPIO13
PIN9 ou f ------------------ GPIO19
PIN10 ou g ---------------- GPIO26
PIN3 ou PIN8 ------------- conectado ao solo
Portanto, usaremos 8 pinos GPIO de PI como uma PORTA de 8 bits. Aqui, o GPIO13 é o LSB (Bit menos significativo) e o GPIO 12 é o MSB (o bit mais significativo).
Agora, se queremos exibir o número “1”, precisamos segmentos de energia B e C. Para alimentar os segmentos B e C, precisamos alimentar o GPIO6 e o GPIO16. Portanto, o byte para a função 'PORT' será 0b00000110 e o valor hexadecimal de 'PORT' será 0x06. Com os dois pinos altos, temos “1” no visor.
Escrevemos os valores para cada dígito a ser exibido e armazenamos esses valores em uma sequência de caracteres chamada 'DISPLAY' (verifique a seção Código abaixo). Em seguida, chamamos esses valores um por um para mostrar o dígito correspondente no display, usando a função 'PORT'.
Explicação de programação:
Depois que tudo estiver conectado de acordo com o diagrama de circuito, podemos ligar o PI para escrever o programa em PYHTON.
Vamos falar sobre alguns comandos que vamos usar no programa PYHTON, Vamos importar o arquivo GPIO da biblioteca, a função abaixo nos permite programar os pinos GPIO do PI. Também estamos renomeando “GPIO” para “IO”, portanto, no programa, sempre que quisermos nos referir aos pinos GPIO, usaremos a palavra 'IO'.
importar RPi.GPIO como IO
Às vezes, quando os pinos GPIO, que estamos tentando usar, podem estar executando algumas outras funções. Nesse caso, receberemos avisos durante a execução do programa. O comando abaixo diz ao PI para ignorar os avisos e prosseguir com o programa.
IO.setwarnings (falso)
Podemos referir os pinos GPIO do PI, tanto pelo número do pino a bordo quanto pelo número da função. Como 'PIN 29' na placa é 'GPIO5'. Portanto, dizemos aqui que vamos representar o pino aqui por '29' ou '5'.
IO.setmode (IO.BCM)
Estamos configurando 8 pinos GPIO como pinos de saída, para pinos de dados e controle do LCD.
IO.setup (13, IO.OUT) IO.setup (6, IO.OUT) IO.setup (16, IO.OUT) IO.setup (20, IO.OUT) IO.setup (21, IO.OUT) IO.setup (19, IO.OUT) IO.setup (26, IO.OUT) IO.setup (12, IO.OUT)
Caso a condição entre colchetes seja verdadeira, as instruções dentro do loop serão executadas uma vez. Portanto, se o bit0 do 'pino' de 8 bits for verdadeiro, o PIN13 será HIGH, caso contrário, o PIN13 será LOW. Temos oito condições 'if else' para bit0 a bit7, de modo que o LED apropriado, dentro do display de 7 segmentos, pode ser definido como Alto ou Baixo, para exibir o Número correspondente.
if (pin & 0x01 == 0x01): IO.output (13,1) else: IO.output (13,0)
Este comando executa o loop 10 vezes, sendo x incrementado de 0 a 9.
para x no intervalo (10):
O comando abaixo é usado como um loop permanente, com este comando as instruções dentro deste loop serão executadas continuamente.
Enquanto 1:
Todas as outras funções e comandos foram explicados na seção 'Código' abaixo com a ajuda de 'Comentários'.
Depois de escrever o programa e executá-lo, o Raspberry Pi aciona os GPIOs correspondentes para mostrar o dígito no visor de 7 segmentos. O programa é escrito para o display contar de 0 a 9 continuamente.