Bom dia pessoal!

Minha ideia é a seguinte, fazer o Arduíno trabalhar com um contador digital (4 displays de 7 segmentos) a cada ciclo no void loop() fazer o Arduíno adicionar uma unidade ao contador. Então pensei em ligar os 4 displays diretamente no arduino atraves do PCF8574, mas acho que o código ficaria muito extenso e complicado para mim que não sou avançado, por isso descartei essa opção.

Através de pesquisas eu encontrei uma segunda alternativa, usar um contador BCD 4518 e um decodificador de 7 segmentos 4511, funcionando da seguinte forma: No final de cada ciclo da função void loop() o Arduíno enviar um pulso e assim fazer o contador somar +1 numero. O esquema é o seguinte:

(no lugar do botão vai um 2N2222)


Pensei que tinha solucionado porém só funcionaria com 1 display já que ao final de 9 ciclos ele voltaria ao zero. Eu preciso que me ajudem a como fazer para funcionar com os 4 displays. O que eu faria no código?

E uma terceira alternativa que eu encontrei foi: fazer um contador com um botão para adicionar +1 numero e um botão de reset. no lugar dos botões vão um 2N2222 com a base ligada no Arduíno, assim ele só teria que saturar a base do transistor e ficaria extremamente simples o código. O meu problema é o seguinte eu não sei como eu farei esse contador, então se alguém souber ou tiver ideia de como fazer, ou tiver o esquema será de muita valia. 

Aqui segue o vídeo mostrando o funcionamento do tal contador que encontrei:

https://www.youtube.com/watch?v=CG2FaXfc6XQ

Obrigado.

*moderação, este é o primeiro tópico que eu crio aqui no Lab de Garagem então se eu fiz algo errado, ou postei esse tópico na área errada, por favor me avisem ou movam o tópico, obrigado.

Exibições: 7190

Responder esta

Respostas a este tópico

Felipe,

Quebrei a cabeça aqui para ver se tinha jeito controlar 2 displays numéricos com um 595, mas confesso que não consegui imaginar como. Acompahe, por favor, o meu raciocínio:

Em 2 displays eu tenho 16 LEDs. Se eu imaginar uma matiz de LEDs 4x4, o problema é semelhante. Abaixo uma figura de uma matriz 3x3 conectada. Só achei essa, mas vale o exemplo.

Na matriz eu lenho ligados os catodos em linha e os anodos em coluna, ou vice-versa.

Então basicamente eu teria que interligar os anodos de cada 4 LEDs, gerando 4 "bits", e os catodos de cada 4 LEDs, gerando outros 4 bits. Aí seria só alegria, porque 8 saídas digitais do 595 seriam ligadas a cada um desses links e boa.

Acontece que os displays de LED que já vi tem com o anodo (ou catodo) comum para os 8 LEDs. Ou seja, a matriz possível seria 8 (pares de anodos) x2 (os dois catodos comuns, um de cada display), e não 4x4. Ou seja, eu precisaria de 10 portas e não oito.

Ou seja, acho que no caso de displays individuais de 8 segmentos tem que ser um 595 por display mesmo, não é?

Mauro, o display que já usei é esse:

http://mdfly.com/Download/LED/SG1004_SPEC.jpg

http://www.labdegaragem.org/loja/index.php/display-de-4-digitos-ver...

Tem os modelos com catodo comum e com anodo comum. Os meus aqui são anodo comum.

A ultima experiencia que fiz, um relógio, usei o 595 pra controle dos digitos, e mais 4 portas do arduino pra controlar a multiplexação (acender um por vez).

Dessa forma, o 595 trabalha como se tivesse controlando somente um display, e o arduino fica conectado nos anodos comum, acendendo somente um por vez, efetuando o 'pisca' dos digitos. Como na matriz de leds, piscando bem rápido a gente não percebe e parece que todos os 4 digitos estão acessos.

Agora usando displays individuais, pelo menos pensando rápido aqui, não seria só ligar da mesma forma? Conecta todos em paralelo, deixando o anodo comum (ou catodo) separado. Assim, funcionaria da mesma forma que o display de 4 digitos.

Todo vez que acionar um valor no 595, estaríamos jogando esse valor para todos os displays, mas acenda somente um deles. Apague-o, mude o valor no 595 e acenda somente o próximo,... e fica nesse loop passando pelos 4.

Tive um acidente na mão direita e por isso não to conseguindo mexer muito bem aqui no pc e não escrevendo muito.

Abraços!

Ok, entendi. Quer dizer que preciso de mais uma porta por display, no Arduino. Vou fazer a experiência um dia desses. De toda forma, eu acho que a abordagem de um CI por display é melhor porque:

- São três portas para gerenciar qualquer quantidade de displays. Para usar um CI só e controlar 4 displays serão 7 portas.

- Não tem essa questão do refresh, que complica bem o código. No caso de um CI por display, vc escreve write(numero) e pronto, fica escrito até a hora em que vc mudar.

- Cada CI custa menos de R$ 1,00 então custo não é problema.

Semana que vem vou tentar implementar uma biblioteca, nos moldes da que fiz, para usar um CI só.

Eu acho que não existe uma forma melhor ou pior. Existe a que melhor atende a sua necessidade.

No meu caso, eu tinha problema em relação ao tamanho da PCI, portanto quanto mais CIs, pior.

Acho que muitos tem uma certa "paranóia" em usar a menor quantidade de portas do arduino. Se tem portas disponíveis, sobrando, use-as! Estão ali pra isso. Não é?! :)

Não concordo com a parte de complicar o código. É só entender o código. Não foi nada complicado e o código não é nada complexo.

Concordo que o 595 custa menos de 1 Real, e não vejo problema nenhum em usa-los. Se existe a necessidade, use quantos forem necessários.

Legal a ideia de fazer a biblioteca e disponibilizar pra galera!

Abraços!!!

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço