Ir ao conteúdo
  • Cadastre-se

MATRIZ de LED com PIC


Posts recomendados

Para os que queiram se aventurar na confecção de um relógio matriz de led eis o exemplo:

http://www.electronics-lab.com/projects/misc/013/

princípios da Programação Matriz Led:

http://www.taringa.net/posts/ciencia-educacion/8653811/Matriz-de-led-8x8.html

http://arduinoifsul.blogspot.com.br/2012/10/partir-de-agora-iremos-comecar-um.html#!/2012/10/partir-de-agora-iremos-comecar-um.html

http://www.neoteo.com/matriz-de-led-8x8-parte-ii/#_methods=onPlusOne%2C_ready%2C_close%2C_open%2C_resizeMe%2C_renderstart%2Concircled&id=I0_1377733271022&parent=http%3A%2F%2Fwww.neoteo.com&pfname=&rpctoken=80619296

funcionamento Shifter Register (serial p/ paralela):

[ame=http://www.youtube.com/watch?v=zR4iHK5DIlQ]Shift-Register (serial p/ paralela) - YouTube[/ame]

funcionamento Shifter Register (paralela p/ serial):

[ame=http://www.youtube.com/watch?NR=1&v=Xxbax0DRZoo&feature=fvwp]Shift-Register (paralela p/ serial) - YouTube[/ame]

Technosat

Link para o comentário
Compartilhar em outros sites

Vou fazer o seguinte:

Vou usar os 74HC164 alimentado com 6.5 volts(HC).

Vou usar a saida do PORT chaveando 8 transistor para o terra.

Esse deve ser o Hardware mínimo que quero.

Vai faltar testar a frequencia de varredura na prática.

Não conseguí um datasheet das matrizes que vou usar para saber o consumo e tensão de cada célula de led.

Amanhã vou encomendar as matrizes(10).

Link para o comentário
Compartilhar em outros sites

Eu sou um dos que comprou 10 desses Max por US$ 5,50 , usei 4 deles e funcionaram direitinho.

É estranho esse mercado de componentes.... Outro dia procurei por um CI que só encontrei no Ebay por US$ 8 .... E de repente liguei aqui para o pessoal da Federal Componentes, e eles tinham a pronta entrega a R$ 6,00 .... Não dá para entender mesmo !

Paulo

Link para o comentário
Compartilhar em outros sites

A título de exemplo, segue o projetinho simples que montei e programei com o 16f84A, 74HC164N. Apesar de no vídeo parecer que oscila um pouco, é deficiência da filmagem pois a multiplexação neste caso ficou perfeita, sem oscilações.

[ame=http://www.youtube.com/watch?v=phaH24n309A&feature=youtu.be]matriz led - YouTube[/ame]

Technosat

Link para o comentário
Compartilhar em outros sites

Quando fala-se em display, logo vem uma parte fundamental, a fonte. Segue uma fonte completa:

https://skydrive.live.com/redir?resid=52E8F6293CD2E6FD!165&authkey=!AOorZc1BiUMaUkg

Esta fonte é muito boa, ela é completa e tem todos os caracteres da tabela ascii, alguns eu tive que editar e quem for usar pode ser que precise mexers em algum caractere, pelo menos não vai ter que criar uma fonte inteira na unha.

Link para o comentário
Compartilhar em outros sites

Technosat,

Uma coisa é UMA matriz de Leds, calcule a temporização, veja a relação aceso/apagado de cada led, e calcule a corrente média por segmento e estime a luminosidade aparente dele. É cerca de menos de 20% , mas ainda bem visível.

Agora, repita o mesmo cálculo para 10 matrizes de leds. Veja qual vai ser a luminosidade aparente com um refresh decente de 30 vezes por segundo.

Vai ver que é 10 vezes menor ....... e quase invisível. Só serve para aula de teoria...

Porisso que estou insistindo em usar algo que possa fornecer picos de corrente acima de 50 mA, é só pegar no gráfico a corrente de pico suportada, quase sempre nele tem a relação do Duty que o Led aguenta aquela corrente alta sem danificar. Com um MAX7219 voce define qual a corrente limite por segmento por um resistor, e define o ciclo de trabalho no software !

Paulo

Link para o comentário
Compartilhar em outros sites

Uma teoria que ainda não coloquei em prática, é a que ja citei antes, creio eu que usando os shift-registers é a única que pode funcionar:

seria colocar um shift register para cada linha do bloco. (os painéis da china são assim)

desta forma o shift-register funcionaria parecido com o max7219, funcionaria como uma memória e não precisaria de ficar fazendo varredura em tempo real. Em contrapartida, vai ficar bem mais caro e trabalhoso que usar um único max por bloco, o que torna inviável.

Link para o comentário
Compartilhar em outros sites

ViniciusKruz,

voce está querendo dizer shift register com latch, correto ?

Já ví utilizarem eles nas colunas, assim o cara passava serial por exemplo 80 bits rapidinho, armazenava todos no latch ao mesmo tempo e acionava uma linha apenas, depois passava mais 80 bits, e acionava a segunda linha, e assim até a última linha. Esse princípio funciona , com um brilho bem maior do que se usar apenas os 74hc164, e bem mais simples de se fazer o refresh.

Aliás, o que foi usado é exatamente o 74hct595 nas colunas, e um desses tipo TLC59213 como reforçador nas linhas.

Mas ainda assim fica muito melhor usando o MAX7219 ...

Paulo

Link para o comentário
Compartilhar em outros sites

Estou esperando chegar as matrizes,mas como citei,o teste na verdade é para matrizes feitas com leds de 5 mm.

Neste caso vou sacrificar um pouco o layout e vou usar 8 bcs SMD(coletor no terra) num port e os 74HC164 na varredura mas com seus pinos de saida conectados a bcs recebendo alimentação diferenciada no coletor,isso vai deixar a tensão ser independente e o brilho será o máxino que o Leds aguentarem em qualquer frequencia de varredura.

Link para o comentário
Compartilhar em outros sites

Estou esperando chegar as matrizes,mas como citei,o teste na verdade é para matrizes feitas com leds de 5 mm.

Neste caso vou sacrificar um pouco o layout e vou usar 8 bcs SMD(coletor no terra) num port e os 74HC164 na varredura mas com seus pinos de saida conectados a bcs recebendo alimentação diferenciada no coletor,isso vai deixar a tensão ser independente e o brilho será o máxino que o Leds aguentarem em qualquer frequencia de varredura.

Caro vtrx...

Creio que o video que postei na página anterior corresponda exatamente ao que você pretende fazer. Como pode ser visto, os 74HC164N estão sendo usados para "chavear" o funcionamento dos transitores BCs, estes sim responsáveis pela alimentação direta dos pinos da matriz. Não posso garantir que não haverá algum tipo de perda com seis matrizes ou mais, mas pelo menos com três, que foi o máximo que testei até agora, não percebi qualquer diferença na luminosidade.

Paulo, realmente seus argumentos estão absolutamente corretos em relação à superioridade do MAX7219. Não há o que se discutir.

Entretanto e vergonhosamente:unsure:, devo confessar que minha, digamos ":unsure:insuficiência de conhecimentos para programações mais complexas:unsure:" me força a procurar soluções mais fáceis e o que encontrei de mais fácil e barato para a matriz de leds foi o 74HC164N.

Mas acompanho de perto todas as suas poderações sobre este e outos temas e, caso surja um projeto interessante, também irei montar, independentemente dos componentes que forem usados.

No mais estamos acompanhando e torcendo para que daqui surja um projeto que englobe a funções relógio, calendário e termômetro, além de possibilitar rolagens de frases programadas via note ou tablet (sonhar não é proibido ^_^). Seria legal colocar um assim no carro para as crianças irem programando as frases durante uma viagem.:lol:

Cordialmente.

Technosat.

Link para o comentário
Compartilhar em outros sites

Technosat,

Olha, sinceramente, eu acho mais difícil fazer com esses 74hc164 do que com um 74hct950, ou o Max. E esse max é bem simples de se programar, pois só o que temos de fazer sempre é enviar dois bytes para ele via serial simples.

Mas você falou algo que me deixou curioso, sobre sonhar, e neste caso é um sonho que já é 90% realidade ! Só falta acrescentar a programação dos textos via USB ou por exemplo bluetooth ou wireless.

Olha seu sonho quase todo feito realidade, por um dos Gurús do Bascom, o velho Ben :

http://www.mcselec.com/index2.php?option=com_forum&Itemid=59&page=viewtopic&t=10696&postdays=0&postorder=asc&start=0

Eu já comprei e recebí essa mesma matriz, só falta tempo...

O link acima é de todo o desenvolvimento, e o resultado objetivo está aqui :

http://www.mcselec.com/index.php?option=com_content&task=view&id=318&Itemid=57

No momento estou terminando um projetinho muito interessante para o pessoal que gosta de áudio, é um rádio FM controlado por um microcontrolador, mais um CI de controle de tonalidade e volume por I2c, e um pequeno amplificador de 3 + 3 watts. Ficou muito legal e o som é ótimo.

Esse projetinho também é originado de um sonho que eu tinha desde pequeno, que era um dia montar o meu próprio radio FM stereo portátil com um desempenho impressionante.

Estamos vivendo uma era em que sonhos viram realidade muito fácil !

Se precisar alguma ajuda na parte do funcionamento de algum CI, poste que sempre tem alguém para ajudar, ok ?

Paulo

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

ViniciusKruz,

voce está querendo dizer shift register com latch, correto ?

Já ví utilizarem eles nas colunas, assim o cara passava serial por exemplo 80 bits rapidinho, armazenava todos no latch ao mesmo tempo e acionava uma linha apenas, depois passava mais 80 bits, e acionava a segunda linha, e assim até a última linha. Esse princípio funciona , com um brilho bem maior do que se usar apenas os 74hc164, e bem mais simples de se fazer o refresh.

Aliás, o que foi usado é exatamente o 74hct595 nas colunas, e um desses tipo TLC59213 como reforçador nas linhas.

Mas ainda assim fica muito melhor usando o MAX7219 ...

Paulo

Exatamente Paulo!!

Eu fiz uma experiência, conforme citei no inicio, um pouco mais além rs, além de enviar os dados linha por linha como você citou, eu tentei fazer um PWM em cada led individualmente, assim eu teria a possibilidade de colocar um brilho diferente para cada led, podendo assim imprimir uma imagem na tela, por exemplo uma foto. A experiência foi bem sucedida com um 18f4550 (48mhz) e um 74hc595, porém ao adicionar mais um 595, a varredura não foi suficiente. Sinceramente eu adoraria saber a técnica usada pelos chineses para conseguir um PWM em 16 leds usando os shift-registers de 16 saídas, caso alguém tenha uma ideia, dá uma luz que eu irei testar.

Link para o comentário
Compartilhar em outros sites

ViniciusKruz,

Uau... isso deve ser meio complicado... Não sei o tamanho final de sua matriz, mas uma maneira é fazer um pwm por software nas 8 linhas de saída, em vez de fazer nas colunas !

Imagine que você normalmente envia os 8 bits na saída do Pic, mas em vez de esperar todo o tempo necessário para que a coluna mudasse, você divide esse tempo por 16, criando "slots" de tempo. Assim, cada bit de saida das linhas poderia ficar desde 1/16 do tempo normal ( brilho mínimo ) até 16/16 do tempo normal ( brilho máximo ) . voce teria de acrescentar uma nova tabela de 4 bits para cada Led individual da matriz, e fazer o controle dos 8 bits de saída baseado nessa tabela.

Se o tamanho das colunas da matriz for grande, acho que vai ter de fazer esse controle em Assembler.

O que eu tenho visto os chineses fazerem são matrizes do tipo 32x32 no máximo, e eles usa um tal de hct qqr coisa que já faz esse controle individual por pwm, o Pic só tem de passar as informações direto para a memória desse chip, e ele cuida do resto.

Mas acho que até dá para fazer 32x32 com o 18f4550 a 48 mhz sem problema, mas teria de usar latches tipo 74hc373 para termos as 32 linhas, endereçados por 4 I/O do Pic. E já que estamos indo por esse caminho, acho que podemos usar os 74hc373 também nas colunas.... Podemos usar 3 pinos de I/O e um 74hc138 para decodificar todos os 8 74hc373.

Enfim, é um projeto bem interessante !

Paulo

Link para o comentário
Compartilhar em outros sites

Então Paulo,

os chineses usam este hct mesmo, eu até já anotei uma vez o número correto, não me lembro mais, perdi o número, de qualquer forma, andei estudando estes hct deles e lelo que entendi são apenas shift-registers como os 74hc595 só que são de 16 saídas cada e não 8, será que eu entendi errado? se este C.I. tiver 16 PWM separados, a coisa muda totalmente de figura, vou mudar meus estudos pra estes circuitos integrados. O problema é que eles não são encontrados aqui no Brasil. Se alguém souber de algum C.I. que contenha entrada serial e pelo menos 8 saídas PWM independentes e que possa ser encontrado no Brasil me passa o nome por favor.

Quanto aos 373, eles são apenas memórias, pra fazer PWM com eles tem que ser via software, eu já fiz um relógio 7 segmentos com este ci e ficou 100%.

Link para o comentário
Compartilhar em outros sites

Pesquisando esses dias, encontrei um CI tipo o MAX7219 para drivear displays. É o MAX6954:

http://www.maximintegrated.com/datasheet/index.mvp/id/3410

O interessante que esse tem a versão DIP, que facilitaria uma montagem mais DIY e o mesmo controla uma matriz 4 vezes maior que o MAX7219 (16x16). No entanto, nem tudo são folhes. Primeiro, que não é fácil encontrar ele. E quando se encontra (via loja da Maxim, farnell, mouse e etc) o preço é absurdamente alto. Coisa de $22 cada! Aí tudo que ele tem de vantagem cai por terra na minha humilde opinião.

Acho incrível como não há muita concorrência nesse nicho específico de CIs.

Falou

Link para o comentário
Compartilhar em outros sites

Acho que encontrei a solução, não analisei o ci ainda mas parece que ele dá:

http://produto.mercadolivre.com.br/MLB-498716876-tlc5940-led-rgb-anodo-servo-motor-16-canais-pwm-arduino-pic-_JM

se estou certo ele faz 16 canais pwm independentes, é exatamente o que estou procurando, mais tarde um pouco irei dar uma pesquisada mais a fundo e se for isto mesmo vou pedir alguns pra testar.

Link para o comentário
Compartilhar em outros sites

Sim, colega Vinicius. Esse chip aí é muito interessante. Mas é meio chatin para trabalhar. O legal que já tem várias bibliotecas prontas para ele no arduino. Para o CCS, tem uma biblioteca nova no forum do compilador mas não testei pois o proteus não tem esse chip para simulação. Eu teria que comprar.

Uma boa leitura para começar:

My Led Matrix Needs Little TLC

Veja um exemplo de um circuito que já vi com ele:

[ame=https://www.youtube.com/watch?v=J3BraNUj2cY]USB RGB LED VU Meter - YouTube[/ame]

Projeto:

http://www.waitingforfriday.com/index.php/USB_RGB_LED_VU_Meter

E esse outro:

[ame=http://www.youtube.com/watch?v=YS4sL9jVHkY]TLC5940 matrix - YouTube[/ame]

Falou

Link para o comentário
Compartilhar em outros sites

Caramba!

Eu ja estou terminando o layout das matrizes com leds diretos de 5mm e ja estão falando em brilho individual por led!

Ta ficando animal o assunto:eek:...

As matrizes são encaixadas e individuais para se fazer uma 'tela' de 40 polegadas,mas para gerar imagens eu imaginaria uma varredura de ponto pela tela igual a tv mesmo,mas não sei se um PIC da conta mesmo em ASM.

Link para o comentário
Compartilhar em outros sites

Calma aí vtrx, rerere, cada coisa é uma coisa, não desmereça seu projeto, o que acontece é que controle de brilho individual está ligado à apresentação de imagens enquanto que controle de brilho global está ligado a apenas texto e qualquer um desses projetos tem seu lugar garantido no mercado, até porque a questão do preço de cada um deles tem uma diferença gritante.

Quanto a comprar fora do Brasil, vou fazer um pedido pequeno por aqui mesmo, assim que eu dominar ele e houver realmente a necessidade compro uma quantidade maior no exterior.

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...
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...