ESTUDANDO O MUNDO ARDUINO:E ANTECIPANDO O FUTURO:

DISPLAY  de  1 DÍGITO

acessar com  www.ebanataw.com.br/arduino/expdisplay1digito.htm

O display de 1 dígito é um componente que empregamos em projetos onde é necessário apresentar informações de forma visual.

Este display possui apenas um dígito, sendo que cada um dos 7 segmentos pode ser acionado de forma independente, formando o caractere desejado.

O display de 7 segmentos pode ter a configuração anodo comum ou catodo comum.

Se o display possuir configuração anodo comum, o pino de alimentação deverá ser conectado ao VCC da plataforma embarcada e os demais pinos do display terão configuração catodo comum.

Caso o display tenha configuração catodo comum, o pino de alimentação deverá ser conectado ao GND da plataforma embarcada e os demais pinos do display terão configuração anodo comum. Para esta prática utilizei o display com configuração anodo comum.

 

CONEXÕES:

 

PROGRAMA:

byte seven_seg_digits[16][7] = { { 1,1,1,1,1,1,0 },  //DIGITO 0
                                 { 0,1,1,0,0,0,0 },  //DIGITO 1
                                 { 1,1,0,1,1,0,1 },  //DIGITO 2
                                 { 1,1,1,1,0,0,1 },  //DIGITO 3
                                 { 0,1,1,0,0,1,1 },  //DIGITO 4
                                 { 1,0,1,1,0,1,1 },  //DIGITO 5
                                 { 1,0,1,1,1,1,1 },  //DIGITO 6
                                 { 1,1,1,0,0,0,0 },  //DIGITO 7
                                 { 1,1,1,1,1,1,1 },  //DIGITO 8
                                 { 1,1,1,0,0,1,1 },  //DIGITO 9
                                 { 1,1,1,0,1,1,1 },  //DIGITO A
                                 { 0,0,1,1,1,1,1 },  //DIGITO B
                                 { 1,0,0,1,1,1,0 },  //DIGITO C
                                 { 0,1,1,1,1,0,1 },  //DIGITO D
                                 { 1,0,0,1,1,1,1 },  //DIGITO E
                                 { 1,0,0,0,1,1,1 }   //DIGITO F
                                 };
void setup(){  
  pinMode(2, OUTPUT); //PINO 2 -> SEGMENTO A  
  pinMode(3, OUTPUT); //PINO 3 -> SEGMENTO B
  pinMode(4, OUTPUT); //PINO 4 -> SEGMENTO C
  pinMode(5, OUTPUT); //PINO 5 -> SEGMENTO D
  pinMode(6, OUTPUT); //PINO 6 -> SEGMENTO E
  pinMode(7, OUTPUT); //PINO 7 -> SEGMENTO F
  pinMode(8, OUTPUT); //PINO 8 -> SEGMENTO G
  pinMode(9, OUTPUT); //PINO 9 -> SEGMENTO PONTO
  writePonto(0);
}
void writePonto(byte dot){  //FUNÇÃO QUE ACIONA O PONTO NO DISPLAY
  digitalWrite(9, dot);
}
void sevenSegWrite(byte digit){ //FUNCÇÃO QUE ACIONA O DISPLAY
  byte pin = 2;
 
  for (byte segCount = 0; segCount < 7; ++segCount){ //PARA "segCount" IGUAL A 0, ENQUANTO "segCount" MENOR QUE 7, INCREMENTA "segCount"
    digitalWrite(pin, seven_seg_digits[digit][segCount]); //PERCORRE O ARRAY E LIGA OS SEGMENTOS CORRESPONDENTES AO DIGITO
    ++pin; //INCREMENTA "pin"
  }
    writePonto(1); //LIGA O PONTO DO DISPLAY
    delay(100); //INTERVALO DE 100 MILISEGUNDOS
    writePonto(0); //DESLIGA O PONTO DO DISPLAY
}
//MÉTODO RESPONSÁVEL PELA CONTAGEM DE 0 A 9 E CONTAGEM DE "A" ATÉ "F" (NA CONTAGEM HEXADECIMAL "A"=10 / "B"=11 / "C"=12 / "D"=13 / "E"=14 / "F"=15)
void loop() {
  for (byte count = 0; count < 16; count++){ //PARA "count" IGUAL A 0, ENQUANTO "count" MENOR QUE 16, INCREMENTA "count"
     delay(500); //INTERVALO DE 500 MILISEGUNDOS
     sevenSegWrite(count); //FAZ A CONTAGEM
  }
  delay(4000); //INTERVALO DE 4 SEGUNDOS
}

 

NOTA: Este site é mantido pela equipe do engenheiro Roberto Massaru Watanabe e se destina principalmente para adolecentes e estudantes. Pelo caráter pedagógico do site, seu conteúdo pode ser livremente copiado, impresso e distribuido. Só não pode piratear, isto é, copiar e depois divulgar como se fosse de sua autoria.


ET-18\RMW\arduino\expdisplay1digito.htm em 24/03/2018, atualizado em 02/01/2020 .