Ir ao conteúdo
  • Cadastre-se

Dimensionar display de 7 segmentos para otimizar numero de pontas usadas


Posts recomendados

Ola, estou com o seguinte problema quero fazer um display de 7 segmentos ou barra de led array, porém estou limitado pelo numero de pinos do microcontrolador.

O quero fazer é um display de 7 segmentos conforme a imagem abaixo mas queria diminuir o numero de pinos utilizando algum outro CI.

A segunda ideia que queria fazer é um barramento de leds estilo aquele equalizadores de som que acendem gradativamente cada um dos leds até todos estiverem acesos no barramento. E para isso preciso de CI que faça essa contagem mantendo os leds acesos. Alguém poderia me ajudar?

 

display.png

Link para o comentário
Compartilhar em outros sites

2 horas atrás, Thiago Felipe Soares Gonçalves disse:

Ola, estou com o seguinte problema quero fazer um display de 7 segmentos ou barra de led array, porém estou limitado pelo numero de pinos do microcontrolador.

O quero fazer é um display de 7 segmentos conforme a imagem abaixo mas queria diminuir o numero de pinos utilizando algum outro CI.

Para isso você usa vários transistores ligado ao seu microcontrolador, fica mais fácil usar o display com a configuração anodo comum.

Se usa um ULN2003A para excitar todos os catodos, ele dá certinho, pois tem exatamente 7 saídas, para excitar os anodos use vários transistores PNP, nesse caso programe seu micro controlador para que a saída se ative em "0".

 

2 horas atrás, Thiago Felipe Soares Gonçalves disse:

A segunda ideia que queria fazer é um barramento de leds estilo aquele equalizadores de som que acendem gradativamente cada um dos leds até todos estiverem acesos no barramento. E para isso preciso de CI que faça essa contagem mantendo os leds acesos.

Aqui tem a resposta:

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Tudo vai depender do número de saídas que tem disponível. P.ex. se estiver usando um mc de 6 ou 8 pinos, há necessidade de algum shift register (p.ex. 74hc595, HC164), I2C IO expander (p.ex. PCF8575) e afins. Mesmo assim, pra ficar otimizado, deve ser aliado a alguma multiplexação como disse o amigo @aphawk

Pro seu caso vai precisar de 8 saídas pros segmentos e leds + 6 pros anodos comuns = 14 bits de saída = 2 ports de 8 bits

Link para o comentário
Compartilhar em outros sites

Dae pessoal retornando com o resultado das sugestões e solução que me falaram.

 

Consegui fazer o bargraph de leds usando apenas duas portas do arduino. Segue abaixo o código que utilizei.

int CLK = 9; // set o pino que gera a contagem 
int RST = 8; // set o pino que reset a contagem

int i = 0;
int n = 0;

void setup() {
  
  pinMode(CLK, OUTPUT);
  pinMode(RST, OUTPUT);
  
  digitalWrite(CLK, LOW);
  digitalWrite(RST, LOW);

  Serial.begin(9600);

}

void loop() {

  n = analogRead(0);
  n = map(n, 0, 1020, 1, 10); // não usar até o fim da escala do AD para evitar piscar o ultimo led

  Serial.println(n);
  
  for(i=1;i<n;i++){

    digitalWrite(CLK, HIGH);
    delay(1);
    digitalWrite(CLK, LOW);
    delay(1);
  
  }

  digitalWrite(RST, HIGH);
  delay(1);
  digitalWrite(RST, LOW);
  delay(1);

}

O diagrama esquemático do circuito que fiz para o bargraph segue abaixo.

 

A ideia é simples o FOR faz a contagem dos leds conforme o valor do AD lido de um potenciômetro, essa contagem acende cada um dos leds  individualmente, porém como a contagem é muito rápida a impressão visual é a de que os leds estão todos acesos ao mesmo tempo. O papel do reset nesse circuito é a de fazer a contagem voltar para o zero, espero que eu tenha sido claro na explicação se tiverem duvidas estarei aqui pra responder. Segue tambem um videosinho.

display.png

WhatsApp_Video_2017-05-27_at_21_21_29.mp4

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Thiago Felipe Soares Gonçalves  ,

 

Legal, é uma maneira de fazer, mas com o acréscimo de um CI... e que acaba consumindo tempo de processamento do Arduíno. Poderia ser feito usando apenas o Arduino, já que de qualquer maneira ele fica enviando os pulsos para acender os Leds no 4017...

 

Para o VU ser mais realista com o volume de áudio, ele tem de ter escala logaritmica, o que pode ser feito com o auxílio de uma tabela para evitar ficar toda hora calculando o log da leitura do conversor A/D.

 

Não consegui abrir o vídeo...

 

Paulo

 

 

Link para o comentário
Compartilhar em outros sites

Então a ideia não é fazer um VU kkkkkk

Era fazer uma barra pra mostrar um máximo e minimo, e como vou estar usando interrupção para as operações não tem problema esse consumir processamento. Segue o vídeo novamente. @aphawk

WhatsApp_Video_2017-05-27_at_21_21_29.mp4

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...