• Welcome to LusoRobótica - Robótica em Português.
 

Estou com uma duvida em expandir...

Started by luisjustin, 24 de October de 2013, 02:00

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

luisjustin

Estou com uma duvida em expandir portas estou a efetuar um projeto e preciso de mais ou menos 300 a 500 portas o Arduíno não sei se é recomendado usar ele, mas vou usar ele apenas como interface para o programa do computador que estou criando enviar os dados e dai ele acender os leds saber se a pessoa tocou em algum bloco ou algo assim, ele vai ser apenas o interpretador.

Aqui fica uma imagem da mesa em anexo!
Seria algo mais ou menos assim.

é uma mesa de cada bloco de 10x10cm, totalizando 10x10 bloco que da 1x1 metro.

Hugu

#1
queres 1000+1 saídas pra mil leds? tem de ser com um arduino?

a g7 fez uma board pro arduino que permite expandir portas até 80 e tal, para mil leds seria necessario 12 boards.. isso ja n sei se daria, mas ja te confirmo!

e os leds ficam acessos um a um, ou pode acontecer ficarem todos ligados?

luisjustin

#2
Preciso apenas de 500 saidas hugu, mas o problema é que algumas são saidas e outras entradas saidas mesmo preciso de 350 com PWM para os leds e entradas analógicas umas 150. Esse é meu problema não precisa ser Arduíno porque quem vai controlar é o computador, o Arduíno apenas interpreta os dados e passa ao computador e o computador processa e passa para ele acender tal led em tal cor.
Não precisa ser arduino mas o que preciso é este montante de portas.

E pode acontecer de todos ficarem ligados, piscando e etc...

senso

#3
Ninguem controla uma matriz com pinos individuais, o que se faz é multiplexagem de pinos.
O que queres fazer é SUPER simples de se fazer por exemplo com 2 TPIC6B595, que são shift-registers com mosfets na saida, que aguentam com uma corrente decente, esses mosfets estão ligados á massa, ou seja, quando activas uma saida, essa saida é ligada á massa, ora ligas o catodo de cada led de cada coluna de 10 leds a uma saida do TPIC, e depois usas dois 595's(cada um tem 8 saidas, dai teres de usar 2), e ligas todos os anodos de cada linha, assim ficas com 595's nas linhas e TPIC6B nas colunas, agora com 5-6 pinos(precisas de 3 para o interface SPI dos 595's e dos TPIC e mais um ou dois pinos para os latches dos mesmos), podes controlar 16x16 leds, depois o código é simplesmente fazer um varrimento e está resolvido.
Podes fazer o mesmo para leitura.

Presumo que queiras fazer uma "cópia" disto:
http://www.evilmadscientist.com/2007/interactive-led-coffee-tables-update-and-kits/
Avr fanboy

luisjustin

Quote from: senso on 24 de October de 2013, 03:20
Ninguem controla uma matriz com pinos individuais, o que se faz é multiplexagem de pinos.
O que queres fazer é SUPER simples de se fazer por exemplo com 2 TPIC6B595, que são shift-registers com mosfets na saida, que aguentam com uma corrente decente, esses mosfets estão ligados á massa, ou seja, quando activas uma saida, essa saida é ligada á massa, ora ligas o catodo de cada led de cada coluna de 10 leds a uma saida do TPIC, e depois usas dois 595's(cada um tem 8 saidas, dai teres de usar 2), e ligas todos os anodos de cada linha, assim ficas com 595's nas linhas e TPIC6B nas colunas, agora com 5-6 pinos(precisas de 3 para o interface SPI dos 595's e dos TPIC e mais um ou dois pinos para os latches dos mesmos), podes controlar 16x16 leds, depois o código é simplesmente fazer um varrimento e está resolvido.
Podes fazer o mesmo para leitura.

Presumo que queiras fazer uma "cópia" disto:
http://www.evilmadscientist.com/2007/interactive-led-coffee-tables-update-and-kits/

Senso seria mais uma copia deste: Touch sensor for LED-Panels with Sharp IS471F infrared sensor

Mas conseguiria controlar como se fosse PWM pois preciso controlar a intensidade de cada um dos pinos pois é RGB e preciso mesclar as cores.

senso

Se é RGB, terás de usar outros chips, tens drivers de leds com geração de pwm incluido, tipo os TLC5940, se bem para o que queres tens de usar outros, e como são drivers low side(maior parte dos drivers de leds são low side), precisas de controlar o high side, por exemplo 595's com transistores á saida para melhor controlo de corrente.
Eu tenho umas matrizes de leds rgb(16 leds rgb em cada matriz de 10x10), seria relativamente facil adicionar meia duzia de sensores de distancia/pares de emissores/receptores IR para fazer de sensores de distancia, porque isto é daquelas coisas que numa breadboard e com fios por todo o lado pode não correr muito bem, isto na minha opinião, ou tens led's RGB com chips dentro que é só mandar dados por uma espécie de protocolo serial, são leds em package SMD 5050, ou compras uma coisa que a Adafruit chama de NeoPixel que são leds desses soldados numa mini pcb, tambem podes comprar fitas de leds RGB(das addressable), cortar aos bocados, que o efeito é o mesmo, depois é meter sensores com fiarada e está feito

Tens muitos exemplos do usos desses leds, olha um rgb com interface via iPad e tudo:
http://thecolorofthin.gs/post/25415779978/the-aurora-led-wall-a-4-foot-by-8-foot
Avr fanboy

Hugu

Quote from: luisjustin on 24 de October de 2013, 03:31
Senso seria mais uma copia deste: Touch sensor for LED-Panels with Sharp IS471F infrared sensor

Mas conseguiria controlar como se fosse PWM pois preciso controlar a intensidade de cada um dos pinos pois é RGB e preciso mesclar as cores.

já sei o que queres construir!  ;D queres fazer uma pista de dança que o chao se ilumine com os passos e tal nao é?!  :D
ao mm tempo queres tb fazer efeitos no chao, por isso queres o controlo de cada led pelo computador..

O idela é fazer mini-modulos e depois comunicar em serie, nao em paralelo porque senao é cabos e mais cabos!

luisjustin

A ideia é que seja um jogo de mesa que o computador vai controlar mas a ideai da pista de dança eu Não tinha pensado iria ser legal hhehehe.

jm_araujo

O dimensionamento desse género de projectos tem muito que se lhe diga, e tem vários problemas que vão surgindo.
Já fizeste contas ao consumo? Se cada led gastar 50mA (com RGB estamos a falar de um led de 5mm), se tiveres os leds ligados em simultâneo, precisas de uma fonte de 5A(=50mA*100). Não é muito, mas escala muito rápido com a dimensão ou o consumo por "pixel".

Podes poupar na fonte ligando em matriz, mas depois tens o problema do refrescamento. Com leds para não teres flicker, precisas de refrescar a 100Hz. Dá 10ms por quadro, 1ms por linha. Depois divides o 1ms pelos níveis de PWM. Para 128 níveis, o período mínimo do PWM é de 78uS, o que dá um clock de 128khz. Ainda estamos em valores razoáveis. Aumenta o tamanho da matriz ou os níveis de PWM, e dá para entender porque se encontram projectos do género controlados por FPGA.

No teu caso, e pela matriz ser pequena,, acho mesmo que ia para controladores tipo TLC5940. Tem 16 portos, cada um pode controlar 5 leds RGB, e simplificas bastante o circuito.

E já tens livraria e documentação arduino: http://playground.arduino.cc/learning/TLC5940

luisjustin

Quote from: jm_araujo on 24 de October de 2013, 11:48
O dimensionamento desse género de projectos tem muito que se lhe diga, e tem vários problemas que vão surgindo.
Já fizeste contas ao consumo? Se cada led gastar 50mA (com RGB estamos a falar de um led de 5mm), se tiveres os leds ligados em simultâneo, precisas de uma fonte de 5A(=50mA*100). Não é muito, mas escala muito rápido com a dimensão ou o consumo por "pixel".

Podes poupar na fonte ligando em matriz, mas depois tens o problema do refrescamento. Com leds para não teres flicker, precisas de refrescar a 100Hz. Dá 10ms por quadro, 1ms por linha. Depois divides o 1ms pelos níveis de PWM. Para 128 níveis, o período mínimo do PWM é de 78uS, o que dá um clock de 128khz. Ainda estamos em valores razoáveis. Aumenta o tamanho da matriz ou os níveis de PWM, e dá para entender porque se encontram projectos do género controlados por FPGA.

No teu caso, e pela matriz ser pequena,, acho mesmo que ia para controladores tipo TLC5940. Tem 16 portos, cada um pode controlar 5 leds RGB, e simplificas bastante o circuito.

E já tens livraria e documentação arduino: http://playground.arduino.cc/learning/TLC5940

Pensei bem e não vou usar PWM pois tem as cores necessarias Red Green Blue, com isto posso fazer a mesa não vou precisar de outras cores assim seria mais facil correto ? sim pretendo usar o led 5mm. Pois tambem vou ter sensor de infra-vermelho para poder saber se a pessoa tocou no cubo.

Poderiam me ajudar e dizer qual controlador é melhor se é arduino, chipkit, FPGA ou algum outro e que não seja complexo pois quem vai controlar eles é o software o controlador é apenas o tradutor para fazer a parte de IO.

Poderiam tambem dizer qual expansor de porta usar ? que não seja SMD, pois não consigo trabalhar com smd, mas futuramente posso usar os SMD mas para prototipar vou fazer sem SMD heheh.

Mas obrigado e até mais!

senso

Tipicamente ao se ter led multiplexados, como estão ligados muito menos tempo, a corrente que é aplicada aos leds tem de ser maior para se ter a mesma luminosidade, na minha matriz de leds estou a usar 40mA por led, com um varrimento de 200Hz, 16 leds rgb, consumo tipico de 250mA a 5v, 290mA quando os meto todos ligados(branco).
Avr fanboy

luisjustin

Quote from: senso on 24 de October de 2013, 18:41
Tipicamente ao se ter led multiplexados, como estão ligados muito menos tempo, a corrente que é aplicada aos leds tem de ser maior para se ter a mesma luminosidade, na minha matriz de leds estou a usar 40mA por led, com um varrimento de 200Hz, 16 leds rgb, consumo tipico de 250mA a 5v, 290mA quando os meto todos ligados(branco).

Tem alguma forma de expandir portas analogicas ? para efetuar a leitura dos infra-vermelhos ? pois vou usar 100 leitores infra-vermelhos.

senso

Multiplexers analógicos, ou por exemplo adc's externos de 8 bits que falem i2c ou spi, existem algumas ofertas no mercado.
Mas tanto led, só num micro, primeiro problema é que não tens ram para um frame buffer.
Avr fanboy

dropes

Para quê ter ADCs quando a leitura desejada é digital, nem o micro tinha velocidade para ler tantos sinais analógicos, já que a leitura é através de IR, pode-se colocar um transístor smd por receptor.

luisjustin

Entendo vocês, mas eu posso estar tentado me expressar errado eu quero fazer uma mesa assim talvez seja mais simples do que eu penso!

100Pixel RGB-LED Table - Interactiv (Touch-Sensor)

Se prestar a atenção ela é controlada pelo computador o arduino só é o IO que ele usa para controlar os leds.