USB RGB LED VU Meter

Transcrição

USB RGB LED VU Meter
USB RGB LED VU Meter
USB RGB LED VU Meter
Introdução
Este projecto cria um VU Meter de LEDs RGB, que é controlado via USB por um Windows 7 ou
Vista. O projeto atende a vários objetivos: Em primeiro lugar, demonstra como ler informações
de áudio a partir da máquina Windows e passar isso através de USB para o dispositivo. Em
segundo lugar, ele implementa um controlador TLC5940 open source. Apesar de uma
biblioteca estar disponível para o microcontrolador AVR, eu não era capaz de encontrar uma
biblioteca de código aberto para o PIC. Esperemos que esta demonstração seja útil para
qualquer pessoa que queira controlar um grande número de LEDs com PWM e controle de
brilho.
1/6
USB RGB LED VU Meter
YouTube
Video de Demonstração
Hardware
O hardware deste projeto é muito simples. A placa de demonstração consiste de um regulador
de 5V (switching), um PIC18F2550 com os componentes necessários USB, 3xTLC5940 drivers
de LEDs seriais de 16 canal com PWM e 16 LEDs RGB de alta intensidade.
A única coisa real que se "nota" no projeto do circuito são os dois grandes capacitores
colocados ao lado do cristal oscilador. A alta velocidade de comutação realizada pelos 5940,
quando se controlo os LEDs via PWM geram uma grande quantidade de energia de ruído (e eu
digo muito!). Os dois capacitores ajudam a garantir que o circuito de tempo do PIC permaneça
estável. Durante os primeiros testes os 5940 faziam com que o PIC parasse de responder bem
como outros efeitos colaterais desagradáveis.
Como queria testar e demonstrar TLC5940 em cascata os LEDs não são multiplexados. Cada
LED está sob controle direto. No entanto, dada a grande quantidade de luminosidade gerada
pelos LEDs, o resultado final não sofreria muito devido à multiplexação e o código pode ser
2/6
USB RGB LED VU Meter
facilmente adaptado, se necessário.
O PCB necessário para construir a placa de demonstração está disponível nos arquivos zip no
final deste artigo.
Aqui está o circuito esquemático para o VU meter:
3/6
USB RGB LED VU Meter
Firmware
O firmware é baseado no software disponível a partir do Open Source Framework para
dispositivos USB genéricos HID baseado no PIC18F e Windows
. Foi adicionado duas camadas nesta base, o nível mais baixo é uma biblioteca de driver
genérico TLC5940. O TLC5940 é um driver de LED de 16 canais que suporta 4.096 níveis de
luminosidade (usando PWM) e tem nível de correção independentes de brilho para cada LED.
O driver pode suportar um chip TLC5940 único, ou você pode cascateá-los juntos.
Teoricamente você deve ser capaz de controlar através de um PIC 20xTLC5940s (ou seja,
você teria 16x20 = 320 LEDs no total). Embora eu não tenha testado até esse máximo, este
projeto de exemplo usa três chips em cascata para fornecer os 48 canais necessários para os
16 LEDs RGB.
No entãnto, sobre os TLC5940 outra biblioteca implementa o controle RGB através da
biblioteca 5940. Isso inclui a aumentar o brilho, diminuir aos poucos, o equilíbrio de cores e
uma série de outras funções úteis para fazer o controle de LEDs fácil.
Controle USB é fornecida por dois comandos, o primeiro comando permite que o host
especifique as intensidades de cor de todos os 16 LEDs usando 'padrão' 0-255 valores para os
canais vermelho, verde e azul. O segundo comando permite que o host especifique o tempo
necessário de esmaecimento para os LEDs.
Windows software
O software foi escrito usando o Visual Studio C# 2010 e é compatível com Windows 7 e Vista.
Devido ao fato de que ele usa a API do núcleo de áudio não funcionará no Windows XP (
simplesmente porque XP não fornece a API).
O software é constituído por três partes. Código aberto em C# biblioteca que realiza a
comunicação USB HID genérico. A API central de áudio é fornecido pela Ray Molenkamp que
publicou a o código da API em ' The Code Project '. A API é realmente muito poderosa, você
pode até usá-lo para pegar as informações da faixa e exibi-lo em um LCD, ou implementar
controle de áudio via USB. A parte final do software é o código de exibição do VU Meter.
Aqui está um screenshot da interface gráfica:
4/6
USB RGB LED VU Meter
Como
tempo
amortecimento
configura
pode
entre
especifique
(isto
éseja
definir
as
você
agradável,
"amortecimento"
cores
o
tempo
pode
quantos
asde
através
cores
mais
ver
com
que
LEDs
lento na
de
cores
do
leva
da
figura
início
display).
devem
torna
tela
para
certas).
ehá
(afim
aos
um
taxa
estar
exibição
OLEDs
da
"pico
número
na
tela
na
qual
diminuirem
"cor
de
(o
mais
de
software
comprimento
ele
final",
suave,
opções
cai
que
de
para
realiza
mas
intensidade
disponíveis.
permite
acompanhar
de
ao
cores
custo
estender
aos
permite
Você
da
opoucos.
precisão).
áudio
pode
a USB.
que
cor
definir
um
você
Você
esmaecer
O
fade-off
também
oque o
coisa,
Há
direito
também
mas
e
esquerdo.
zerada
três
tipos
do
2parte
barras
de
lado
display.
de
com
fora
8Uma
da
LEDs,
tela.
única
barra
um,
mostrando
que
são
"zerados"
aautomaticamente
média
no
de
centro
ambos
são
os
canais
apouco
mesma
A linha
software
diodo
USB
emissor
de
funciona
detectado.
status
na
dentro
com
ou
da
inferior
sem
interface
hardware
mostra
gráfica,
conectado,
ocada
estado
este
éda
executado,
pois
conexão
você
do
pode
mesmo
dispositivo
monitorar
se
nenhum
o -o
status
Note
dispositivo
do
Arquivos para download
PCB and Schematic - A PCB roteada e o esquema em formato expressSCH e expressPCB
(estes softwares são livres)
PIC18F2550 Firmware - PIC18F2550 firmware código fonte incluindo a biblioteca TLC5940
5/6
USB RGB LED VU Meter
(para HiTech C18)
MS VS C# 2010 host software source - Windows 7 e Vista (NÃO XP!) código fonte em
Microsoft Visual Studio 2010 C#.
6/6

Documentos relacionados