collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: [ajuda] Matriz LED RGB Gigante  (Lida 10587 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline LuisCarlos

  • Mini Robot
  • *
  • Mensagens: 10
[ajuda] Matriz LED RGB Gigante
« em: 08 de Agosto de 2012, 18:18 »
Boa tarde pessoal.
Eu quero iniciar um projeto este verão e fazer uma mesa, balcão com uma matriz de leds rgb. O verão passado fiz um cubo de leds 6*6*6 e até foi fácil uma vez que não foi preciso grandes invenções para colocar todos os leds a funcionarem com uma taxa de refresh suficientemente alta.
Mas agora quero aumentar o nível e fazer uma matriz de 2 dimensões com o mínimo de uns 30*30 pixeis RBG. E pela técnica que utilizei para fazer o cubo não funciona aqui uma vez que quero uma taxa de refresh suficiente rápida de toda a matriz.

O que eu queria é que quem me puder ajudar neste projeto, que drivers utilizar, e quantos de forma a ser economicamente viável.
Pensei utilizar o TLC5940 que tem 16 canais com 12 bits de PWM... e consigo obter de forma gratuita. Já tenho uns 10 em casa destes.

Também já pensei em adaptar uns drivers de vários displays 7 segmentos...

Como controladores, arduinos é a minha especialidade, tenho um PICKIT 3 mas ainda sou novato em PICs, também já programei 8052 mas não tenho nenhum em casa nem programadores. Também tenho um raspberry pi para o caso de precisar de uma velocidade de processamento e de clock muito mais rápido que os outros.

Se alguém pensar uma forma de tornar este projeto viável que diga, preciso de ajuda e agradeço imenso :)
« Última modificação: 08 de Agosto de 2012, 18:21 por LuisCarlos »

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: [ajuda] Matriz LED RGB Gigante
« Responder #1 em: 08 de Agosto de 2012, 18:59 »
Fazes á mesma multiplexing,
Se arredondares um dos valores de 30 para 32 leds simplificas o meu exemplo.
Então é assim, supõe que tens 30 colunas e 32 linhas, como são leds's RGB e cada TLC5940 tem 16 saidas, usas 2 TLC's por cada cor, ou seja 6 TLC's ligados cor a cor a todos os leds, depois nas colunas usas shift-registers com transistores ou mosfets para ligar para coluna, agora é fazeres as contas ao bit-rate que precisas para ver o arduino é suficientemente rápido.
Avr fanboy

Offline LuisCarlos

  • Mini Robot
  • *
  • Mensagens: 10
Re: [ajuda] Matriz LED RGB Gigante
« Responder #2 em: 08 de Agosto de 2012, 20:20 »
Pois esse é o método "tradicional". O problema é que para atualizar a matriz toda é preciso processar e mandar informação para 180 TLCs (2 TLCs/cor/linha*3 cores*30 colunas) (claro que na verdade são só 6 TLCs). E isso acho que demora muitooo tempo. Ou sou eu que estou já a pensar mal?

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: [ajuda] Matriz LED RGB Gigante
« Responder #3 em: 08 de Agosto de 2012, 20:56 »
SPI por hardware a correr a 8Mhz(velocidade máxima com o cristal de 16Mhz que o Arduino tem), e como para cada led têm de ser enviados 16 bits porque o frame minimo tem 8 bits, dá se não me engano 16*16*6*30bits para enviar que é igual a 46080bytes isto para cada frame por assim dizer, depois tens de correr isso ai a uns 30fps, acho que um arduino não tem capacidade de processamento para isso.
Seja o método que for, tens sempre de enviar os dados, tenhas 1 tlc ou tenhas 100.
Avr fanboy

Offline LuisCarlos

  • Mini Robot
  • *
  • Mensagens: 10
Re: [ajuda] Matriz LED RGB Gigante
« Responder #4 em: 08 de Agosto de 2012, 21:50 »
Pois era o que eu pensava desde o inicio, um controlador normal não deve conseguir atualizar com velocidade suficiente. Mas não sei se fizeste essas contas bem... não percebi porque para cada led tem que ser enviados 16 bit, pensava que eram 12. O TLC tem 12 bits para o PWM e tem uma opção de Dot Correction de 8 bit o que faz diminuir o bitrate.

Talvez faça este projeto com um raspberry pi. Tenho um cá e estou para ter outro. São rápidos, isto era uma brincadeira para eles

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: [ajuda] Matriz LED RGB Gigante
« Responder #5 em: 08 de Agosto de 2012, 21:56 »
Não sei bem se consegues fazer o controlo dos TLC's com a RPi, precisas de um timer a gerar um clock.
Sim, é de 12 bits, mas o hardware de SPI do atmega usado no arduino não é capaz de enviar só 12 bits, mas sim 16bits, então tens de enviar 16 bits para cada led.
Avr fanboy

Offline LuisCarlos

  • Mini Robot
  • *
  • Mensagens: 10
Re: [ajuda] Matriz LED RGB Gigante
« Responder #6 em: 08 de Agosto de 2012, 22:19 »
Gerava o clock por software no RPi.
Hum já percebi essa dos 16 bit thanks.

Mas não existe outra forma de controlar grandes matrizes? Uma vez vi um componente que controlava acho que era 16 vs 32 pixeis, do jeito mais ou menos como um LCD normal, mas era só o controlador.

Se não houver, pois começo experimento um arduino e vejo que consigo fazer, se não conseguir alcançar os objectivos salto para o RPi

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: [ajuda] Matriz LED RGB Gigante
« Responder #7 em: 08 de Agosto de 2012, 22:32 »
Esses controladores podem ser muitas coisas, podes fazer isso por exemplo numa FPGA, mas ai precisavas de aprender a programar VHDL/Verilog, esse projecto tenho a certeza que é exequivel com um atmega, agora com o IDE do Arduino não me parece, pois muitas das funções são dificeis de optimizar, por exemplo um digitalWrite pode demorar entre 30 e 40 ciclos, em vez de 1 ciclo demora a fazer directamente acesso directo aos pinos/portos.

Eu tenho uma plaquinha que fiz com um atmega8 e um tlc5940 a controlar 5 leds rgb, só mesmo para testar código e ver luzes bonitas, e em vez de usar um timer para gerar o clock para os tlc's usei o clockout e activei-o nos fuses do micro, e tenho o tlc a correr com pwm a 16Mhz em vez da meia duzia de Khz que o código do arduino usa, isso tem algumas vantagens mas por exemplo não consegues gerar um sinal de relógio estavel em software com a RPi, porque tens um sistema operativo que não te garante nada em tempo real.
Avr fanboy

Offline Hugu

  • Mini Robot
  • *
  • Mensagens: 5.602
  • Keyboard not found. Press any key to continue.
    • [url=www.g7electronica.net]G7 Electrónica.net[/url]
Re: [ajuda] Matriz LED RGB Gigante
« Responder #8 em: 08 de Agosto de 2012, 22:43 »
Boa tarde pessoal.
Eu quero iniciar um projeto este verão e fazer uma mesa, balcão com uma matriz de leds rgb. O verão passado fiz um cubo de leds 6*6*6 e até foi fácil uma vez que não foi preciso grandes invenções para colocar todos os leds a funcionarem com uma taxa de refresh suficientemente alta.

Fixe! ...tens fotos/video desse cubo pra mostrares ao ppl?  8)

Offline LuisCarlos

  • Mini Robot
  • *
  • Mensagens: 10
Re: [ajuda] Matriz LED RGB Gigante
« Responder #9 em: 08 de Agosto de 2012, 22:47 »
Eu já programei FPGA com VHDL, mas não quero entrar por aí.
Sei que as funções do arduino não estão optimizadas para situações especializadas, por isso quando fiz o cubo, houve umas funções em que alterei a rapidez uns 400%.

Vou pensar no assunto melhor. Uma possibilidade é usar 2 controladores se não conseguir os objetivos de velocidade.

Muito obrigado Senso

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: [ajuda] Matriz LED RGB Gigante
« Responder #10 em: 08 de Agosto de 2012, 23:09 »
Eu acho que consegues fazer isso com o arduino, nem que tenhas de recorrer a código mais virado para o acesso directo a registos e pinos, mas da maneira que te disse, com 6 tlc's deve ser possivel, se usares 12 tlc's e dividires a matriz em duas matrizes de 15 colunas(isto para o hardware) fazias um update simultaneo a cada metade da matriz e ganhavas algum tempo para as interrupções, o split em software é muito simples, pois basta alterar os indices de leitura do array que tem os dados, para os primeiros 6 tlc's lês o array de dados do indice 0 ao 15 e para a outra metade lês do 16 ao 30, assim consegues o mesmo frame rate com metade dos updates.
Avr fanboy

Offline LuisCarlos

  • Mini Robot
  • *
  • Mensagens: 10
Re: [ajuda] Matriz LED RGB Gigante
« Responder #11 em: 08 de Agosto de 2012, 23:13 »
Fixe! ...tens fotos/video desse cubo pra mostrares ao ppl?  8)

Tenho sim senhor. Não sei se te lembras mas foi por ti que comprei os leds azuis difusos e que te falei no projeto no verão passado :)

A câmara com que filmei não é assim muito boa e por isso parece que uns leds ainda estão acesos, apesar de já estarem apagados. Mas dá para perceber bem.
Fiz estas animações um bocado à pressa, a que mais gosto é a chuva, foi a mais trabalhosa mas consegui. Posso alterar facilmente a velocidade e intensidade da chuva. E em todas as animações posso alterar também facilmente a velocidade.
A única coisa que devia ter trabalhado um pouco mais foi a intensidade dos leds, que numas animações parecem mais intensas que outras. As que estão mais intensas são as que não estão a trabalhar sobre POV(perception of vision).




Senso: Sim também já pensei em dividir em 2. Mandei vir muitas samples dos TLCs.

Agora só falta encontrar rgb baratos. Tens algum sitio de preferência para RGBs? Sei duns sites chineses mas queria saber se existe melhor hipótese.
« Última modificação: 08 de Agosto de 2012, 23:17 por LuisCarlos »

Offline Hugu

  • Mini Robot
  • *
  • Mensagens: 5.602
  • Keyboard not found. Press any key to continue.
    • [url=www.g7electronica.net]G7 Electrónica.net[/url]
Re: [ajuda] Matriz LED RGB Gigante
« Responder #12 em: 09 de Agosto de 2012, 00:45 »
Tenho sim senhor. Não sei se te lembras mas foi por ti que comprei os leds azuis difusos e que te falei no projeto no verão passado :)
acho k sim me lembra! ja foi á um ano?! irra k o tempo passa depressa!  ;D

Citar
A câmara com que filmei não é assim muito boa e por isso parece que uns leds ainda estão acesos, apesar de já estarem apagados. Mas dá para perceber bem.
Fiz estas animações um bocado à pressa, a que mais gosto é a chuva, foi a mais trabalhosa mas consegui. Posso alterar facilmente a velocidade e intensidade da chuva. E em todas as animações posso alterar também facilmente a velocidade.
A única coisa que devia ter trabalhado um pouco mais foi a intensidade dos leds, que numas animações parecem mais intensas que outras. As que estão mais intensas são as que não estão a trabalhar sobre POV(perception of vision).
tá fixe! e o cubo está bem direitinho!  8)
alta estafa pra soldar esses leds todos nao?!  ::)

Ja agora, co programas os efeitos? é tupo à la pata ou fizeste um programazinho com feituras dos efeitos via grafico?

A G7 tb tem um cubo, mas de 3x3x3, mas o nosso orgulho sao a porrada de efeitos k fizemos pra eles:
(o projectista fez um programa em VB e eu ainda ajudei a idealizar/programar alguns dos efeitos 8))


Citar
Senso: Sim também já pensei em dividir em 2. Mandei vir muitas samples dos TLCs.
donde mandas vir os samples? ::)

Citar
Agora só falta encontrar rgb baratos. Tens algum sitio de preferência para RGBs? Sei duns sites chineses mas queria saber se existe melhor hipótese.
ebay! :P se precisares outra vez ajuda na aquisiçao dos leds rgb, dá-me um toke!  8)

Offline LuisCarlos

  • Mini Robot
  • *
  • Mensagens: 10
Re: [ajuda] Matriz LED RGB Gigante
« Responder #13 em: 09 de Agosto de 2012, 01:01 »



Citar
alta estafa pra soldar esses leds todos nao?!  ::)
Fuuu nem imaginas, demorei 2 dias mas fiz uma base perfurada para ficar tudo direitinho. O pior era ao colocar as camadas umas em cima das outras. Mas depois de inalar muito fumo lá consegui meter tudo direitinho sem estragar nenhum led.

Citar
Ja agora, co programas os efeitos? é tupo à la pata ou fizeste um programazinho com feituras dos efeitos via grafico?
Tudo à pata. Todas as animações foram fáceis à excepção da chuva que demorei 1 dia completo. Não estava a conseguir e quando estava mesmo a desistir e ir deitar consegui por milagre meter a funcionar. :D

Citar
A G7 tb tem um cubo, mas de 3x3x3, mas o nosso orgulho sao a porrada de efeitos k fizemos pra eles:
(o projectista fez um programa em VB e eu ainda ajudei a idealizar/programar alguns dos efeitos 8))
Sim já o tinha visto, está muito engraçado e tem boas animações Deviam fazer um maior. O pessoal adora estes projetos com leds :)

Citar
donde mandas vir os samples? ::)
Os TLCs que disse acima mandei vir da Texas Instruments. Consigo mandar vir 5 desses cada vez com mais 2 ou 3 outros produtos acho eu.

Citar
ebay! :P se precisares outra vez ajuda na aquisiçao dos leds rgb, dá-me um toke!  8)

Se for o sitio mais barato vou já ver isso. Obrigadão :) Na altura tinha o problema de com o meu banco não conseguir fazer pagamentos online etc. Agora não há problemas :)

Offline msaleiro

  • Mini Robot
  • *
  • Mensagens: 691
    • Blog
Re: [ajuda] Matriz LED RGB Gigante
« Responder #14 em: 09 de Agosto de 2012, 03:30 »
LuisCarlos e este semestre começares a ir ao eLab (http://ualgelab.wordpress.com/)? não? :P
msaleiro - Mário Saleiro
UAlg FCT-DEI / VisLab - Instituto de Sistemas e Robótica / eLab Hackerspace
http://thebitbangtheory.com