Como devo acender todos os LEDs?

8

Estou trabalhando em um cubo de LED 4x4x4. Conectei todos os terminais negativos dos LEDs em uma camada horizontal entre si e estou usando um pino do Arduino por camada. Conectei todos os terminais positivos de LED de uma coluna vertical e estou controlando cada coluna por meio de um pino.

Portanto, 16 pinos usados ​​para colunas e 4 pinos usados ​​para camadas horizontais. Os pinos estão alimentando e afundando diretamente os LEDs.

Pelos meus cálculos, posso ligar no máximo 16 LEDs de uma só vez antes de atingir os limites de corrente. Então, se eu quiser iluminar todas as camadas simultaneamente, sem queimar o painel, como devo proceder?

asheeshr
fonte
@ MarkBooth Afundando diretamente em um pino de E / S.
asheeshr

Respostas:

5

De um modo geral, esses cubos de led usam persistência de visão e multiplexação para minimizar o número de fios e pinos de E / S digitais para um determinado tamanho de cubo, mas no seu caso, você também pode usá-lo para reduzir a corrente geral consumida pelo cubo. Em vez de apenas ligar ou desligar um LED, você piscaria o led muitas vezes por segundo para fornecer um brilho aparentemente contínuo, mas com um consumo de corrente muito menor.

Por exemplo, se você puder alimentar 16 LEDs continuamente, mas precisar alimentar 64 LEDs, poderá fazê-lo se tiver um ciclo de trabalho de de 25%. Cada LED será ligado por um quarto do tempo e desligado por três quartos, portanto, será 1/4 do brilho do LED continuamente alimentado, mas também consumirá apenas 1/4 da energia.

Se você pode alternar entre os quatro planos a cada 5ms (50Hz), dependendo da luminosidade dos LEDs do cubo, as pessoas olhando diretamente para o cubo provavelmente não perceberão a cintilação, mas quem estiver olhando para outro lugar provavelmente perceberá a cintilação do canto do olho deles. A 2ms (125Hz), poucas pessoas notariam a cintilação, mesmo pelo canto dos olhos.

Para obter mais informações, consulte a página da wikipedia no limite de fusão do Flicker .

Mark Booth
fonte
6

A melhor maneira de fazer isso é a multiplexação .

É assim que os monitores / monitores (celular, laptop e outros) funcionam. Eu também recomendaria registros de turno (como escrevi neste tópico )

Espero que ajude!

Comunidade
fonte
3

The Texas Instruments TLC5940 é outra maneira de controlar facilmente os LEDs do arduino. Aparentemente, você pode encadear até 40 delas juntas. Há tanta informação boa na página do playground do arduino. Por favor vá verificar.

Aqui está um exemplo de um usuário do fórum do arduino chamado saeveritt que ilustra uma idéia de como seria o diagrama de fiação. Siga os links para aprender sobre como alimentar tantos LEDs usando essa técnica.

insira a descrição da imagem aqui

Steve Cooley
fonte
1

Eu pensaria que, com um número apropriado de transistores, você poderia mudar as coisas sem precisar afundar toda a corrente do LED através de um pino do Arduino.

Você não indica sua fonte de energia, mas eu faria isso ligando os LEDs diretamente (não através do Arduino) e usando o Arduio para alternar os transistores.

mikeY
fonte
Você pode explicar isso mais sobre como fazer isso ... talvez um link ou um exemplo de esquema?
Anonymous Penguin
Pessoa @annonomus - Vamos assumir uma fonte de 5V. Eu acho que em vez de "5v> pino Arduino> monte de LEDs> terra", você faria "5V> pino Arduino> base de transistor NPN" e "5v> coletor de transistor> emissor de transistor> emissor de transistor> monte de LEDs> terra". Escreva "alto" na base NPN do Arduino para inverter o transistor e ligar os LEDs sem afundar a corrente no pino do Arduino.
precisa
Eu sei disso, mas quero dizer que transistor você usaria? Qualquer um que atendesse à corrente? Quero dizer, como você calcula quanta tensão e saturação você precisa para alimentá-lo, etc.?
Anonymous Penguin
Eu acho que aqueles que sabem usariam um MOSFET chique. Eu tentaria com um 2N3904 porque tenho vários deles em mãos.
MiKey