Indicadores LED de sete segmentos. Indicador de sete segmentos Indicadores LED de sete segmentos com cátodo comum

Um LED (ou diodo emissor de luz) é um diodo óptico que emite energia luminosa na forma de "fótons" quando é polarizado diretamente. Na eletrônica chamamos esse processo de eletroluminescência. A cor da luz visível emitida pelos LEDs varia do azul ao vermelho e é determinada pelo espectro espectral da luz emitida, que por sua vez depende das diversas impurezas que são adicionadas aos materiais semicondutores durante o seu processo de fabricação.

Os LEDs apresentam muitas vantagens em relação às lâmpadas e luminárias tradicionais, e talvez as mais importantes delas sejam seu pequeno tamanho, durabilidade, diversas cores, baixo custo e fácil disponibilidade, além da capacidade de interagir facilmente com vários outros componentes eletrônicos em circuitos digitais.

Mas a principal vantagem dos LEDs é que, devido ao seu pequeno tamanho, alguns deles podem ser concentrados em uma caixa compacta, formando o chamado indicador de sete segmentos.

O indicador de sete segmentos consiste em sete LEDs (daí seu nome), dispostos em um retângulo, conforme mostrado na figura. Cada um dos sete LEDs é chamado de segmento porque, quando aceso, o segmento faz parte de um dígito (decimal ou de 12 dígitos). Às vezes, dentro do mesmo pacote, é usado um 8º LED adicional. Ele serve para exibir o ponto decimal (DP), permitindo assim que dois ou mais indicadores de 7 segmentos estejam conectados entre si para representar números maiores que dez.

Cada um dos sete segmentos do display LED está conectado a um bloco de contato correspondente localizado diretamente na caixa retangular de plástico do indicador. Os pinos do LED são rotulados de A a G, representando cada segmento individual. Outros contatos dos segmentos de LED estão interligados e formam uma saída comum.

Portanto, a polarização direta aplicada aos pinos correspondentes dos segmentos de LED em uma determinada ordem fará com que alguns segmentos acendam enquanto o restante permaneça escuro, permitindo que o símbolo do padrão numérico desejado seja iluminado para ser exibido no display. Isto nos permite representar cada um dos dez dígitos decimais de 0 a 9 em um display de 7 segmentos.

O pino comum é normalmente usado para determinar o tipo de display de 7 segmentos. Cada LED do display possui dois terminais de conexão, um dos quais é chamado de “ânodo” e o outro, respectivamente, é chamado de “cátodo”. Portanto, um indicador LED de sete segmentos pode ter dois tipos de design de circuito - com cátodo comum (OC) e com ânodo comum (OA).

A diferença entre esses dois tipos de display é que no design OK, os cátodos de todos os 7 segmentos estão diretamente conectados entre si, e no design de ânodo comum (CA), os ânodos de todos os 7 segmentos estão conectados entre si. Ambos os esquemas funcionam da seguinte maneira.

  • Cátodo comum (OC) - os cátodos interligados de todos os segmentos de LED possuem nível lógico “0” ou estão conectados a um fio comum. Segmentos individuais são iluminados aplicando um sinal lógico alto ou lógico 1 ao pino anódico por meio de um resistor limitador para polarizar diretamente os LEDs individuais.
  • Ânodo comum (CA) - os ânodos de todos os segmentos de LED são combinados e possuem nível lógico “1”. Segmentos individuais do indicador acendem quando cada cátodo específico é conectado ao terra, lógica "0" ou um sinal de baixo potencial através do resistor limitador correspondente.

Em geral, os indicadores de ânodo comum de sete segmentos são mais populares, uma vez que muitos circuitos lógicos podem exigir mais corrente do que a fonte de alimentação pode fornecer. Observe também que um display de cátodo comum não é um substituto direto no circuito para um display de ânodo comum. E vice-versa - isso equivale a ligar os LEDs na direção oposta e, portanto, nenhuma luz será emitida.

Embora um medidor de 7 segmentos possa ser considerado como um único display, ele ainda consiste em sete LEDs individuais dentro de um único pacote e, como tal, esses LEDs requerem proteção contra sobrecorrente. Os LEDs só emitem luz quando são polarizados diretamente, e a quantidade de luz que emitem é proporcional à corrente direta. Isto significa apenas que a intensidade do LED aumenta aproximadamente linearmente com o aumento da corrente. Assim, para evitar danos ao LED, esta corrente direta deve ser monitorada e limitada a um valor seguro por um resistor limitador externo.

Esses indicadores de sete segmentos são chamados de estáticos. Sua desvantagem significativa é o grande número de pinos na embalagem. Para eliminar esta desvantagem, são utilizados esquemas de controle dinâmico para indicadores de sete segmentos.

O indicador de sete segmentos ganhou grande popularidade entre os rádios amadores porque é conveniente de usar e fácil de entender.

Nesta lição aprenderemos sobre os diagramas para conectar indicadores LED de sete segmentos a microcontroladores e como controlar os indicadores.

Os indicadores LED de sete segmentos continuam sendo um dos elementos mais populares para exibir informações digitais.

As seguintes qualidades contribuem para isso.

  • Preço baixo. Em termos de display, não há nada mais barato que os indicadores digitais LED.
  • Variedade de tamanhos. Os menores e maiores indicadores são LED. Conheço indicadores LED com alturas de dígitos de 2,5 mm a 32 cm.
  • Brilho na escuridão. Em algumas aplicações esta propriedade é quase decisiva.
  • Eles têm diferentes cores de brilho. Existem até bicolores.
  • Correntes de controle bastante baixas. Indicadores LED modernos podem ser conectados aos pinos dos microcontroladores sem chaves adicionais.
  • Adequado para condições operacionais adversas (faixa de temperatura, alta umidade, vibração, ambientes agressivos, etc.). Para esta qualidade, os indicadores LED não têm igual entre outros tipos de elementos de exibição.
  • Vida útil ilimitada.

Tipos de indicadores LED.

O indicador LED de sete segmentos exibe um caractere usando sete LEDs - segmentos de dígitos. O oitavo LED ilumina o ponto decimal. Portanto, existem 8 segmentos num indicador de sete segmentos.

Os segmentos são designados por letras latinas de “A” a “H”.

Os ânodos ou cátodos de cada LED são combinados no indicador e formam um fio comum. Portanto, existem indicadores com ânodo comum e cátodo comum.

Indicador LED com ânodo comum.

Indicador LED com cátodo comum.

Controle de LED estático.

Os indicadores LED devem ser conectados ao microcontrolador através de resistores limitadores de corrente.

O cálculo dos resistores é igual ao dos LEDs individuais.

R = (alimentação U - segmento U) / segmento I

Para este circuito: segmento I = (5 – 1,5) / 1000 = 3,5 mA

Os indicadores LED modernos brilham bastante, mesmo com uma corrente de 1 mA. Para um circuito com ânodo comum, os segmentos acenderão, em cujos pinos de controle o microcontrolador gerará um nível baixo.

No diagrama de conexão de um indicador com cátodo comum, a polaridade da fonte de alimentação e dos sinais de controle muda.

O segmento acenderá, em cujo pino de controle será gerado um nível alto (5 V).

Modo multiplexado para controlar indicadores LED.

São necessários oito pinos para conectar cada indicador de sete segmentos ao microcontrolador. Se houver 3–4 indicadores (dígitos), a tarefa torna-se praticamente impossível. Simplesmente não há pinos de microcontrolador suficientes. Neste caso, os indicadores podem ser conectados em modo multiplexado, em modo de indicação dinâmica.

As conclusões dos segmentos com o mesmo nome de cada indicador são combinadas. Isto resulta em uma matriz de LEDs conectados entre os pinos do segmento e os pinos indicadores comuns. Aqui está um circuito para controle multiplexado de um indicador de três dígitos com um ânodo comum.

Para conectar três indicadores, foram necessários 11 pinos, e não 24, como no modo de controle estático.

Com a exibição dinâmica, apenas um dígito fica aceso por vez. Um sinal de alto nível (5 V) é fornecido ao pino comum de um dos bits, e sinais de baixo nível são enviados aos pinos do segmento para aqueles segmentos que devem acender neste bit. Depois de um certo tempo, a próxima descarga acende. Um nível alto é aplicado ao seu pino comum e os sinais de status desse bit são enviados aos pinos do segmento. E assim por diante para todos os dígitos em um loop infinito. O tempo de ciclo é chamado de tempo de regeneração do indicador. Se o tempo de regeneração for curto o suficiente, o olho humano não notará a mudança de descargas. Parecerá que todas as descargas estão constantemente brilhando. Para evitar oscilações dos indicadores, acredita-se que a frequência do ciclo de regeneração deva ser de pelo menos 70 Hz. Tento usar pelo menos 100 Hz.

O circuito de indicação dinâmica para LEDs com cátodo comum é assim.

A polaridade de todos os sinais muda. Agora um nível baixo é aplicado ao fio comum da descarga ativa, e um nível alto é aplicado aos segmentos que devem acender.

Cálculo de elementos de exibição dinâmicos de indicadores de diodo emissor de luz (LED).

O cálculo é um pouco mais complicado do que no modo estático. Durante o cálculo é necessário determinar:

  • corrente média dos segmentos;
  • corrente pulsada de segmentos;
  • resistência do resistor de segmento;
  • corrente de pulso dos terminais comuns das descargas.

Porque Os números indicadores acendem por sua vez, o brilho do brilho determina a corrente média. Devemos escolhê-lo com base nos parâmetros do indicador e no brilho necessário. A corrente média determinará o brilho do indicador em um nível correspondente ao controle estático com a mesma corrente constante.

Vamos escolher uma corrente média de segmento de 1 mA.

Agora vamos calcular a corrente de pulso do segmento. Para fornecer a corrente média necessária, a corrente de pulso deve ser N vezes maior. Onde N é o número de dígitos indicadores.

Eu segmento criança levada. = eu segmento média. *N

Para o nosso esquema eu segmento. criança levada. = 1 * 3 = 3 mA.

Calculamos a resistência dos resistores que limitam a corrente.

R = (alimentação U - segmento U) / segmento I. criança levada.

R = (5 – 1,5) / 0,003 = 1166 Ohm

Determinamos as correntes de pulso dos terminais comuns das descargas. 8 segmentos podem acender ao mesmo tempo, o que significa que você precisa multiplicar a corrente de pulso de um segmento por 8.

Eu categoria imp. = eu segmento criança levada. * 8

Para o nosso circuito I categoria imp. = 3 * 8 = 24 mA.

  • Selecionamos a resistência do resistor como 1,1 kOhm;
  • os pinos do microcontrolador de controle de segmento devem fornecer uma corrente de pelo menos 3 mA;
  • os pinos do microcontrolador para seleção do dígito indicador devem fornecer uma corrente de pelo menos 24 mA.

Com esses valores de corrente, o indicador pode ser conectado diretamente aos pinos da placa Arduino, sem o uso de chaves adicionais. Para indicadores brilhantes, tais correntes são suficientes.

Esquemas com chaves adicionais.

Se os indicadores exigirem mais corrente, será necessário utilizar teclas adicionais, especialmente para sinais de seleção de dígitos. A corrente de descarga total é 8 vezes a corrente de um segmento.

Diagrama de conexão de um indicador LED com ânodo comum em modo multiplexado com interruptores de transistor para seleção de descargas.

Para selecionar um bit neste circuito é necessário gerar um sinal de baixo nível. A chave correspondente abrirá e fornecerá energia para a descarga do indicador.

Diagrama de conexão de um indicador LED com cátodo comum em modo multiplexado com chaves transistorizadas para seleção de descargas.

Para selecionar um bit neste circuito é necessário gerar um sinal de alto nível. A chave correspondente abrirá e fechará o terminal de descarga comum ao terra.

Pode haver circuitos em que seja necessário utilizar chaves de transistor para ambos os segmentos e pinos de bits comuns. Tais esquemas são facilmente sintetizados a partir dos dois anteriores. Todos os circuitos mostrados são utilizados quando o indicador é alimentado com uma tensão igual à fonte de alimentação do microcontrolador.

Chaves para indicadores com tensão de alimentação aumentada.

Existem grandes indicadores em que cada segmento consiste em vários LEDs conectados em série. Para alimentar tais indicadores, é necessária uma fonte com tensão superior a 5 V. As chaves devem fornecer comutação de tensão aumentada controlada por sinais de nível do microcontrolador (geralmente 5 V).

O circuito de chaves que conectam os sinais indicadores ao terra permanece inalterado. E os interruptores de energia devem ser construídos de acordo com um esquema diferente, por exemplo, assim.

Neste circuito, o bit ativo é selecionado pelo nível alto do sinal de controle.

Entre a troca dos dígitos indicadores, todos os segmentos devem ser desligados por um curto período de tempo (1-5 μs). Este tempo é necessário para completar os processos transitórios de troca de chave.

Estruturalmente, os pinos de descarga podem ser combinados em uma caixa de um indicador de vários dígitos, ou um indicador de vários dígitos pode ser montado a partir de indicadores separados de um dígito. Além disso, você pode montar um indicador a partir de LEDs individuais combinados em segmentos. Isso geralmente é feito quando é necessário montar um indicador muito grande. Todos os esquemas acima serão válidos para tais opções.

Na próxima lição, conectaremos um indicador LED de sete segmentos à placa Arduino e escreveremos uma biblioteca para controlá-lo.

Categoria: . Você pode marcá-lo.

Ou termômetros com números grandes, é difícil encontrar indicadores adequados (como ALS) e às vezes é necessário um tamanho que não está disponível comercialmente. Para fazer isso, cada elemento (segmento) de números é frequentemente montado a partir de vários LEDs redondos comuns. Oferecemos uma versão mais avançada e conveniente desta solução, utilizando o microcircuito 74HC595. O projeto resultou em placas de quase 10 centímetros de altura, que podem ser visíveis a longas distâncias. Se necessário, um grande número de dígitos pode ser conectado sequencialmente entre si por meio de um conector especializado.

Diagrama esquemático

Este circuito é um controlador de display de 7 segmentos de um dígito usando um grande conjunto de 5 LEDs por segmento e um registrador de deslocamento para fácil controle de entrada do microcontrolador. Cada um dos LEDs utilizados neste projeto tem 5 mm de diâmetro.

O chip ULN2003 ajuda a amplificar a corrente que flui através dos LEDs. Os resistores R1 - R8 são limitadores de corrente para LEDs, que são conectados em série no circuito.

Bom dia! Após minha longa e forçada pausa, continuaremos dominando o curso de Programação Arduino. Em uma de nossas aulas anteriores já trabalhamos com uma sequência de LEDs, agora é hora de passar para a próxima etapa do treinamento. O tema do artigo de hoje será um indicador de 7 segmentos.

Conhecer o indicador de 7 segmentos consistirá em duas partes. Na primeira parte iremos abordar brevemente a componente teórica, trabalhar com o hardware e escrever programas simples.

Da última vez que trabalhamos com uma sequência de 8 LEDs, hoje também serão 8 deles (7 tiras de LED e 1 ponto). Ao contrário da sequência anterior, os elementos deste conjunto não estão alinhados (um após o outro), mas estão dispostos em uma determinada ordem. Graças a isso, usando apenas um componente você pode exibir 10 dígitos (de 0 a 9).

Outra diferença significativa que diferencia este indicador dos LEDs simples. Possui um cátodo comum (ou melhor, duas pernas equivalentes 3 e 8, às quais o cátodo está conectado). Basta conectar um dos cátodos ao terra ( GND). Todos os elementos indicadores possuem ânodos individuais.

Uma pequena digressão. Todos os itens acima se aplicam a indicadores de 7 segmentos com cátodo comum. No entanto, existem indicadores com ânodo comum. A conexão de tais indicadores tem diferenças significativas, portanto, por favor, não confunda “pecador com justo”. Você precisa entender claramente que tipo de dispositivo de sete segmentos você tem em mãos!

Além das diferenças entre LEDs simples e indicadores de 7 segmentos, também existem características comuns. Por exemplo: indicadores, como LEDs, podem ser montados em uma fileira (sequência) para exibir números (dígitos) de dois, três e quatro dígitos. No entanto, não aconselho você a se preocupar muito em montar conjuntos de segmentos sozinho. À venda “ao lado” de indicadores de um dígito, também são vendidos indicadores de vários dígitos.

Espero que você não tenha esquecido a necessidade de usar resistores limitadores de corrente ao conectar LEDs. O mesmo se aplica aos indicadores: cada elemento do indicador deve ter seu próprio resistor conectado. 8 elementos (7 + 1) – 8 resistores.

Eu tinha em mãos uma unidade de sete segmentos marcada como 5161AS (cátodo comum). Pinagem:



Diagrama esquemático

Como falei anteriormente, para ligar o segmento “A”, conectamos o terra em qualquer pino comum (3 ou 8), e alimentamos 5V no pino 7. Se o indicador tiver ânodo comum, aplicamos 5V ao ânodo e aterramos na saída do segmento!

Vamos montar uma bancada de teste. Conectamos os fios em ordem, começando pela primeira perna, que vai até o 2º pino da placa Arduino. Conectamos o terra ao pino 8 do indicador.

Após a montagem do suporte, você pode começar a escrever o firmware.

Para verificar o indicador, vamos executar o programa escrito. Vamos selecionar o elemento “A” e atualizá-lo.


Agora vamos piscar o número 2. Para fazer isso, vamos incluir mais alguns elementos.

Para gerar um dígito, você precisa escrever um número n de linhas de código. É difícil, você não acha?

Existe outra maneira. Para exibir qualquer número no indicador, ele deve primeiro ser representado como uma determinada sequência de bits.

Tabela de correspondência.

Se o display tiver um ânodo comum, então 1 deve ser substituído por 0 e 0 por 1!

A coluna hexadecimal é uma representação de um número na forma de bytes (falaremos sobre isso com mais detalhes na segunda parte).

Um número no sistema numérico binário é escrito da seguinte forma: 0b00000000. 0b- Sistema Binário. Zeros significam que todos os LEDs estão apagados.

Ao conectar, usamos os pinos 2 a 9. Para ligar o pino 2, escreva um nele = 0b00000001. O quarto bit da direita é responsável pelo ponto. O último bit corresponde à linha no meio do indicador.

Vamos escrever um exemplo de saída do número 0.

Para reduzir o número de linhas digitadas, usaremos um loop que permite “iterar” todos os 8 bits. Variável Habilitar_segmento o valor do bit que está sendo lido é atribuído. Depois disso, a saída de corrente é definida para o modo apropriado ( presença ou ausência de sinal).

Nota: A função bitRead() lê o estado do bit especificado e retorna o valor do estado (0 ou 1).bitLeitura(x, n)onde x é o número cujos bits precisam ser lidos; n é o número do bit cujo estado precisa ser lido. A numeração começa com o bit menos significativo (mais à direita) numerado 0.

E no final da primeira parte escreveremos um pequeno contador.

No artigo de hoje falaremos sobre indicadores de 7 segmentos e como “fazer amizade” com Arduino. Existem várias opções. O mais fácil, claro, é ir até e comprar um indicador pronto com escudo integrado (é assim que se chama a placa correspondente), mas não estamos procurando caminhos fáceis, então seguiremos um caminho um pouco mais difícil. Iniciantes - não se assustem, este artigo, como meus artigos anteriores ( E ) apenas para você. Deixe os gurus escreverem para os mesmos gurus experientes, e eu sou iniciante - escrevo para iniciantes.

Por que um indicador de 7 segmentos? Afinal, são tantas telas diferentes, com grande quantidade de caracteres, linhas, diversas diagonais e resoluções, preto e branco e coloridas, sendo que a mais acessível custa alguns dólares... E aqui: a “velha” um, escandalosamente simples, mas que exige um grande número de pinos, indicador de 7 segmentos, mas ainda assim esse “velho” também tem uma vantagem. O fato é que usando os esboços aqui apresentados você pode reviver não apenas um indicador com dígitos de 14 mm de altura, mas também projetos mais sérios (embora caseiros), e os dígitos dos medidores neste caso estão longe do limite. Isso pode não ser tão interessante para os moradores das capitais, mas a população de Novokatsapetovka ou Nizhnyaya Kedrovka ficará muito feliz se um relógio aparecer em um clube ou conselho de aldeia que também possa exibir a data e a temperatura, e eles falarão sobre o criador deste relógio por muito tempo. Mas esses relógios são tema de um artigo separado: os visitantes vão querer - Escreverei. Tudo o que foi escrito acima pode ser considerado uma introdução. Assim como meu último artigo, este artigo será composto por partes, desta vez em duas. Na primeira parte iremos simplesmente “gerir” o indicador, e na segunda tentaremos adaptá-lo para algo pelo menos um pouco útil. Então vamos continuar:

Parte um. Experimental - educacional

A base deste projeto é o ARDUINO UNO, que já nos é bem conhecido em artigos anteriores. Deixe-me lembrá-lo que a maneira mais fácil de comprá-lo é aqui: ou aqui: Além disso, você precisará de um indicador de 4 dígitos e 7 segmentos. Eu tenho, em particular, o GNQ-5641BG-11. Por que este? Sim, simplesmente porque há 5 anos comprei por engano, estava com preguiça de ir trocá-lo, então ele ficou todo esse tempo esperando nos bastidores. Acho que qualquer um com um ânodo comum servirá (e com um cátodo comum é possível, mas você terá que inverter os dados do array e outros valores de porta - ou seja, alterá-los para os opostos), desde que não é muito potente para não queimar o Arduino. Além disso, 4 resistores limitadores de corrente, de aproximadamente 100 Ohms cada, e um pedaço de cabo (10 cm foi o suficiente para mim) para 12 pinos (núcleos) podem ser “arrancados” do mais largo, que foi o que fiz. Ou você pode até soldá-los com fios separados, não haverá problemas. Você também precisará de alfinetes para o tabuleiro (11 peças), mas se tiver cuidado poderá passar sem eles. Um esboço do indicador pode ser visto na Figura 1, e seu diagrama na Figura 2. Também observarei que é melhor fornecer no máximo 2,1 V para cada segmento deste indicador (limitado por resistores de 100 Ohm), e neste caso não consumirá mais de 20 mA. Se o número “8” acender, o consumo não ultrapassará 7x20=140 mA, o que é bastante aceitável para saídas Arduino. Um leitor curioso fará a pergunta: “Mas 4 descargas de 140 mA cada já são 4x140 = 560 mA, e isso já é demais!” Eu responderei - restarão 140. Como? Leia! A localização dos pinos no indicador pode ser vista na Figura 3. E fazemos a conexão conforme Tabela 1.


Arroz. 1 - Esboço do indicador


Arroz. 2 - Circuito indicador


Arroz. 3 - Localização do pino

tabela 1

Pino Arduino Uno

Pino indicador

Observação

Segmento G

Segmento F

Segmento E

Segmento D

Segmento C

Segmento B

Segmento A

O ânodo comum do segmento nº 1 é conectado através de um resistor de 100 Ohm.

O ânodo comum do segmento nº 2 é conectado através de um resistor de 100 Ohm.

O ânodo comum do segmento nº 3 é conectado através de um resistor de 100 Ohm.

O ânodo comum do segmento nº 6 é conectado através de um resistor de 100 Ohm.



Preenchemos um esboço simples, que é uma simples “tabela de contagem” de 0 a 9:


Agora, alguns esclarecimentos. DDRD é um registro da porta D (DDRB - respectivamente, porta B) atrás da palavra “assustadora” “registro” existe apenas uma função “oculta” que indica se a porta irá ler algo com seu pino (receber informações), ou vice-versa vice-versa será possível fazer alguma coisa ali e depois escrever (dar informações). Neste caso, a linha DDRD=B11111111; indica que todos os pinos da porta D são de saída, ou seja, informações sairão deles. A letra “B” significa que um número binário está escrito no registrador. Um leitor impaciente perguntará imediatamente: “É decimal possível!?!” Apresso-me em garantir que isso é possível, mas falaremos mais sobre isso um pouco mais tarde. Se quiséssemos usar metade da porta para entrada e metade para saída, poderíamos especificá-la assim: DDRD=B11110000; uns mostram os pinos que fornecerão informações e zeros mostram aqueles que receberão essas informações. A principal comodidade do cadastro também reside no fato de não ser necessário cadastrar todos os pinos 8 vezes, ou seja, salvamos 7 linhas no programa. Agora vamos dar uma olhada na seguinte linha:

PORTB=B001000; // coloca o pino 11 da porta B em nível alto

PORTB é o registro de dados da porta B, ou seja, Ao escrever um número nele, indicamos qual pino da porta terá um e qual terá zero. Além do comentário, direi que se você pegar o Arduino Uno de forma que você possa ver o controlador e os pinos digitais estejam em cima, a entrada no registro ficará clara, ou seja. qual “zero” (ou “um”) corresponde a qual pino, ou seja, o zero mais à direita da porta B é responsável pelo 8º pino, e o mais à esquerda é pelo 13º (que possui um LED embutido). Para a porta D, respectivamente, a direita é para o pino 0, a esquerda é para o pino 7.
Espero que depois de explicações tão detalhadas tudo fique claro, mas como está claro, proponho retornar ao sistema numérico decimal que conhecemos e amamos desde a infância. E mais uma coisa: um esboço de 25 linhas pode parecer pequeno, mas para um iniciante ainda é um pouco complicado. Vamos reduzi-lo.

Vamos preencher um esboço ainda mais simples, a mesma “tabela de contagem”:


Vídeo 1.
Apenas 11 linhas! Este é o nosso jeito, “o jeito novato”! Observe que em vez de números binários, números decimais são escritos nos registradores. Naturalmente, para números decimais, nenhuma letra é necessária na frente. Acho que não faria mal nenhum colocar todos os números em tabelas.

Tabela 2. Correspondência do caractere exibido com os dados da porta

Ânodo comum

Cátodo comum

Sistema Binário

Sistema decimal

Sistema Binário

Sistema decimal

Tabela 3. Correspondência do dígito exibido com os dados da porta

Ânodo comum

Cátodo comum

Sistema Binário

Sistema decimal

Sistema Binário

Sistema decimal



Atenção! Os dados das tabelas 2 e 3 são válidos somente quando conectados de acordo com a tabela 1.
Agora vamos fazer upload de um esboço com uma “tabela de contagem” de 0 a 9999:




Arroz. 4 – Mesa de contagem

Você pode ver o esboço em ação emVídeo 2.

Há mais comentários neste esboço do que o próprio código. Não deveria haver perguntas... Além de uma coisa, que tipo de “ciclo de oscilação” é esse, o que, de fato, pisca ali e por quê? E também existe algum tipo de variável para isso...
E a questão toda é que os segmentos de mesmo nome de todas as quatro categorias estão conectados em um ponto. A1, A2, A3 e A4 possuem um cátodo comum; A1, B1,…..Ânodo comum G1. Assim, aplicando simultaneamente “1234” ao indicador de 4 dígitos, obteremos “8888” e ficaremos muito surpresos com isso. Para evitar que isso aconteça, você deve primeiro acender “1” na sua categoria, depois desligar, acender “2” na sua, etc. Se você fizer isso muito rapidamente, a oscilação dos números se fundirá, como os quadros de um filme, e o olho praticamente não notará isso. E o valor máximo da variável oscilante, neste caso, controla a velocidade de mudança dos números no indicador. Aliás, é graças a essa “oscilação” que o consumo máximo de corrente é de apenas 140 mA, em vez de 560. Agora sugiro passar para algo mais útil.

Parte dois. Pelo menos um pouco útil

Nesta parte, enviaremos caracteres de um computador pessoal para um indicador de 7 segmentos usando ARDUINO MEGA. Por que surgiu de repente a ideia de “trocar de cavalo na travessia”? Há dois motivos: primeiro, eu nunca havia considerado o ARDUINO MEGA em meus artigos antes; e em segundo lugar, no ARDUINO UNO ainda não descobri como posso trocar dinamicamente a porta COM e a porta D. Mas sou um novato - posso ser perdoado. Naturalmente, você pode comprar este controlador aqui: . Para implementar o plano, tive que pegar um ferro de soldar e soldar novamente o cabo do lado do Arduino, além de escrever um novo esboço. Você pode ver como o cabo é soldado na Figura 5. Acontece que o ARDUINO MEGA e o ARDUINO UNO têm pinagens de portas diferentes, e o Mega tem muito mais portas. A correspondência dos pinos utilizados pode ser visualizada na Tabela 4.



Arroz. 5 - Nova fiação de cabos

Tabela 4

Porto Mega


Atenção! Esta tabela é válida apenas para este projeto!

Você também deve observar que a porta C do Arduino Mega “começa” no pino 37 e depois em ordem decrescente, e a porta A começa no pino 22 e depois em ordem crescente.



Arroz. 6 - Visão geral



Pequenos recursos de implementação: produziremos 4 caracteres. Os caracteres devem ser números. Se você digitou “1234” e veremos “1234”, se você digitou “123456” ainda veremos “1234”, se você digitou “ytsuk”, “fyva1234”, “otiog485909oapom” - não veremos nada. Se você digitou “pp2345mm”, veremos “23”, ou seja, pequeno, “à prova de falhas” embutido.

O esboço real:



Você pode ver como este programa funciona emVídeo 3.



Revisão preparada por Pavel Sergeev