Projeto de dados digitais com sete segmentos e ESPPOP 10 usando Arduino IDE

Projeto de dados digitais com sete segmentos e ESPPOP 10 usando Arduino IDE
O ESP32 é um microcontrolador compacto de conservação de energia que possui vários pinos de GPIO, permitindo interagir com muitos sensores. O ESP32 pode interagir com uma ampla variedade de dispositivos eletrônicos, incluindo sete displays de segmento. Usando o microcontrolador ESP32, é possível controlar facilmente o estado de cada segmento em um sete segmentos e projetar um dado digital aleatório ou um gerador de pseudo-número.

Este artigo abrange o seguinte conteúdo:

  • 1: Introdução a sete segmentos
  • 2: sete pinagem de segmento
  • 3: Tipos de sete segmentos
  • 4: Como verificar um segmento de sete é um ânodo comum ou cátodo comum
  • 5: interface sete segmento com esp32 e botão
  • 5.1: esquemático
  • 5.2: hardware
  • 5.3: Instalando a biblioteca necessária
  • 6: Projetando um DICE DIGITAL ESP32 e Push Button
  • 6.1: código
  • 6.2: saída

1: Introdução a sete segmentos

Um sete segmentos pode exibir informações numéricas usando um programa de microcontrolador. Consiste em sete segmentos individuais, cada um dos quais pode ser iluminado ou desligado de forma independente para criar vários caracteres numéricos.

Uma tela de sete segmentos funciona iluminando diferentes combinações de seus sete segmentos para exibir caracteres numéricos. Cada segmento é controlado por um pino individual, que pode ser ligado ou desligado para criar o caráter numérico desejado. Quando os segmentos são iluminados na combinação correta, o caráter numérico é visível para o espectador.

Ao usar um microcontrolador ESP32 para controlar uma tela de sete segmentos, o ESP32 envia sinais para os pinos específicos na tela de sete segmentos, dizendo quais segmentos ligarem ou desligam para exibir um caractere numérico específico.

2: sete pinagem de segmento

A tela de sete segmentos normalmente tem 10 pinos, com um pino para cada segmento, um para os pinos decimais e dois comuns. Aqui está uma tabela da pinagem típica:

Número do PIN Nome do pino Descrição
1 b Pino de LED superior direito
2 a Pino de LED mais alto
3 VCC/GND GND/VCC depende da configuração
4 f Pino de LED superior esquerdo
5 g Pino do LED do meio
6 dp Pino de LED do ponto
7 c Pino LED inferior direito
8 VCC/GND GND/VCC depende da configuração
9 d Pino de LED inferior
10 e Pino de LED inferior esquerdo

Cada segmento é rotulado como A, B, C, D, E, F e g. O pino comum é normalmente usado para controlar todos os segmentos de uma só vez. O pino comum é baixo ativo ou ativo, dependendo da tela.

3: sete tipos de segmento

Sete segmentos podem ser categorizados em 2 tipos:

  • Cátodo comum
  • Ânodo comum.

1: em um Cátodo comum Todos os terminais de segmento de LED negativos estão conectados juntos.

2: em um ânodo comum Sete segmentos Todos os terminais de segmento de LED positivos estão conectados juntos.

4: Como verificar um segmento sete é ânodo comum ou cátodo comum:

Para verificar o tipo de sete segmentos, apenas precisamos de uma ferramenta simples - Multímetro. Siga as etapas para verificar o tipo de sete exibição de segmentos:

  1. Segure a exibição de sete sete em mãos e identifique Pino 1 Usando o pinout explicado acima.
  2. Pegue um multímetro. Suponha uma sonda vermelha para positivo (+) e sonda preta de um multímetro para negativo (-).
  3. Defina o Teste de Multímetro para Continuidade.
  4. Depois disso, o funcionamento do medidor pode ser verificado tocando sondas positivas e negativas. Um som de bipe será produzido se o medidor estiver funcionando corretamente. Caso contrário, substitua as baterias no seu multímetro por uma nova.
  5. Coloque a sonda preta no pino 3 ou 8 do multímetro. Ambos esses pinos são comuns e conectados internamente. Selecione qualquer pino.
  6. Agora coloque o chumbo vermelho ou positivo do multímetro em outros pinos de sete segmentos, como 1 ou 5.
  7. Depois de tocar a sonda vermelha se algum segmento brilhar, o segmento sete é um Cátodo comum.
  8. Trocar os leads multímetro se nenhum segmento brilhar.
  9. Agora conecte o chumbo vermelho ao pino 3 ou 8.
  10. Depois disso, colocou o chumbo preto ou negativo nos pinos restantes da tela. Agora, se algum dos segmentos da tela brilhar, os sete segmentos serão ânodo comum. Como no ânodo, todos os pinos positivos de todos os segmentos são comuns e restantes são unidos com suprimento negativo.
  11. Repita as etapas para verificar todos os outros segmentos de exibição um por um.
  12. Se algum dos segmentos não brilhar, será com defeito.

Aqui está uma imagem de referência para um teste de sete segmentos usando um Multímetro. Podemos ver a sonda vermelha está no pino 8 e o preto está no pino de segmento, então estamos usando Ânodo comum Sete segmentos:

5: interface sete segmento com esp32 e botão

Para interface uma tela de sete segmentos com um ESP32, você precisará dos seguintes materiais:

  • Um microcontrolador ESP32
  • Uma tela de sete segmentos
  • Botão de apertar
  • Uma placa de pão
  • Fios de jumper

Esp32 interfaces com sete exibições de segmento em etapas simples. Primeiro, temos que projetar um circuito para o qual precisamos discutir o primeiro esquema.

5.1: esquemático

Para projetar um dado digital usando sete segmentos primeiro, precisamos projetar o circuito abaixo e conectar sete segmentos com botão e esp32. Usando o esquema de referência abaixo conecta sua placa ESP32 com uma tela de sete segmentos e um botão conectado no pino D23.

A seguir, a tabela de pinagem para a conexão ESP32 com uma única exibição de sete segmentos. Um botão também está conectado em D23:

Número do PIN Nome do pino PIN ESP32
1 b D2
2 a D15
3 Com GND/VCC depende da configuração - Catodo/ânodo comum
4 f D19
5 g D21
6 dp Pino de LED do ponto
7 c D4
8 Com GND/VCC depende da configuração - Catodo/ânodo comum
9 d D5
10 e D18

5.2: hardware

Abaixo, a imagem mostra o hardware do ESP32 conectar -se com o botão e sete segmentos:

5.3: Instalando a biblioteca necessária

Depois de conectar sete segmentos, precisamos instalar uma biblioteca no Arduino IDE. Usando esta biblioteca, podemos programar facilmente o ESP32 com sete segmentos.

Vá para Biblioteca gerente procurar Sevseg biblioteca e instale -a no Arduino IDE.

6: projetar um dado digital usando o ESP32 e o botão

Para projetar um DICE digital ou um gerador de números pseudo Esp32 Um botão é necessário. PushButton enviará um sinal no pino digital do ESP32, que exibirá um dígito em sete segmentos. Sempre que o botão é pressionado, um dígito aleatório de 0 a 6 será gerado em sete segmentos usando o Arduino função.

6.1: código

Abra o IDE e conecte Esp32. Depois disso, faça o upload do código de segmento de sete dado para ESP32:

#include "Sevseg.h " /*inclua sete biblioteca de segmentos* /
Sevseg Sevseg; /*Variável de sete segmentos*/
int state1; /*Variável para armazenar o estado do botão*/
#Define Button1 23 / *esp32 pino para pushbutton * /
Void Setup ()
pinmode (botão1, input_pullup); /*Atribua o botão como entrada*/
byte Sevensegments = 1; /*Número de sete segmentos que estamos usando*/
byte Commonpins [] = ; /*Defina pinos comuns*/
byte ledsegmentpins [] = 15, 2, 4, 5, 18, 19, 21; /*Esp32 pinos digitais definidos para sete segmentos Pin A a G*/
BOOL ResistorSonsegments = true;
Sevseg.BEGIN (Common_anode, Sevensegments, Commonpins, LedsegmentPins, ResistorSonsegments);/ *Configuração do sete segmentos */
Sevseg.Setbrightness (80); /*Brilho de sete segmentos*/
semente aleatória (analogread (0);/* arrastando a sequência de geração de números de dados*/

Void Loop ()
state1 = digitalRead (Button1); /*Leia o estado do botão*/
if (state1 == baixo) /*estado baixo quando o botão de flexão é pressionado* /
para (int b = 0; b <=6; b++)
Sevseg.setNumber (b);
Sevseg.refreshDisplay ();/*exibindo os valores de loop for em sete segmentos*/
atraso (100);

int i = aleatório (1,6);/ * gerando os valores para dados */
Sevseg.setNumber (i); /*Exibindo os valores dos dados em sete-segmento*/
Sevseg.refreshDisplay (); / * Refrescando a tela de sete segmentos após cada iteração */
atraso (1000); /* tempo após o qual o loop for executado novamente*/

O código começou ligando para o Sevseg biblioteca. Aqui criamos variável estado1. Esta variável armazenará o estado atual do botão.

Depois disso, definimos o número de segmentos, estamos usando com ESP32. Os pinos de segmento de LED são definidos para placas ESP32. Altere o pino de acordo com o tipo de ESP32 que você está usando.

Qualquer um dos pinos digitais esp32 pode ser usado.

Em seguida, enquanto estamos usando o Ânodo comum tipo, então o definimos dentro do código.

No caso de Cátodo comum Substitua -o pelo código abaixo.

Finalmente usando o aleatório (1,6) A função ESP32 gerará um número aleatório e o exibirá em sete segmentos.

6.2: saída

A saída mostra dígitos aleatórios impressos de 1 a 6.

Conclusão

Em conclusão, usando o ESP32 com botão e código Arduino, podemos controlar facilmente o estado de cada segmento em um display de sete segmentos, permitindo a criação de geradores de numores reais ou pseudo em tempo real personalizados ou pseudo. Podemos usá -lo para jogar vários jogos, como dados.