Main Page | Report this Page
 
   
Science Forum Index  »  Electronics - Design Forum  »  PIC / PICAXE-controlled LED Beat flasher
Page 1 of 2    Goto page 1, 2  Next
Author Message
Johnno
Posted: Wed Feb 21, 2007 1:46 am
Guest
Hi everyone,

I want to build a gadget to flash 3 different groups of ten LEDs - to
be controlled by a microcontroller. I want these flashes to be
determined by the level of an audio signal (peak 5v.) So, in short, I
am looking for an easy-to-program microcontroller device with a built
on A/D converter that will accept a max 5v AC signal.

Any suggestions?
Thanks.
John Barrett
Posted: Wed Feb 21, 2007 2:52 am
Guest
"Johnno" <cppjohn@hotmail.com> wrote in message
news:1172036800.193498.138070@p10g2000cwp.googlegroups.com...
Quote:
Hi everyone,

I want to build a gadget to flash 3 different groups of ten LEDs - to
be controlled by a microcontroller. I want these flashes to be
determined by the level of an audio signal (peak 5v.) So, in short, I
am looking for an easy-to-program microcontroller device with a built
on A/D converter that will accept a max 5v AC signal.

Any suggestions?
Thanks.


PIC and AVR both have A/D converters, and there are free programming tools
for both. My preference is for AVR because there is a free C compiler -- I
hate working in BASIC !!

Even the smallest versions of these processors have more than adequate I/O,
and most have internal oscilators so you dont have to mess with crystals.
Speed is limited without the xtal -- usually 1mhz -- but these are RISC
chips, so 1 million instructions per second -- which is more than adequate
for A/D stuff and and integer version of the FFT to detect the bass beats..
if it turns out you need a little more UMPH !! -- add the crystal and take
it up to 8mhz or better depending on the specific chip. All have on board
timers which makes clocking the A/D sample rate easy, and while most all
have PWM outputs, there are some with THREE pwm outputs, which would be
interesting if you wanted to modulate the intensity of the LEDs rather than
just flashing them.

Pretty much all these features and variations are available either the PIC
or AVR, so its really more a question of what languages you are comfortable
with, and what development tools are available, as both chips are about
equally easy to program for.

No matter which you choose, I strongly suggest getting the hardware
developers kit for the one you choose -- saves you the trouble of having to
debug both hardware and software at the same time.
Johnno
Posted: Wed Feb 21, 2007 3:13 am
Guest
On Feb 21, 2:52 pm, "John Barrett" <ke5c...@verizon.net> wrote:
Quote:
"Johnno" <cppj...@hotmail.com> wrote in message

news:1172036800.193498.138070@p10g2000cwp.googlegroups.com...

Hi everyone,

I want to build a gadget to flash 3 different groups of ten LEDs - to
be controlled by a microcontroller. I want these flashes to be
determined by the level of an audio signal (peak 5v.) So, in short, I
am looking for an easy-to-program microcontroller device with a built
on A/D converter that will accept a max 5v AC signal.

Any suggestions?
Thanks.

PIC and AVR both have A/D converters, and there are free programming tools
for both. My preference is for AVR because there is a free C compiler -- I
hate working in BASIC !!

Even the smallest versions of these processors have more than adequate I/O,
and most have internal oscilators so you dont have to mess with crystals.
Speed is limited without the xtal -- usually 1mhz -- but these are RISC
chips, so 1 million instructions per second -- which is more than adequate
for A/D stuff and and integer version of the FFT to detect the bass beats..
if it turns out you need a little more UMPH !! -- add the crystal and take
it up to 8mhz or better depending on the specific chip. All have on board
timers which makes clocking the A/D sample rate easy, and while most all
have PWM outputs, there are some with THREE pwm outputs, which would be
interesting if you wanted to modulate the intensity of the LEDs rather than
just flashing them.

Pretty much all these features and variations are available either the PIC
or AVR, so its really more a question of what languages you are comfortable
with, and what development tools are available, as both chips are about
equally easy to program for.

No matter which you choose, I strongly suggest getting the hardware
developers kit for the one you choose -- saves you the trouble of having to
debug both hardware and software at the same time.

Great! I am familiar with C so I'll check out the AVRs.

Seeing as I am planning on having three banks of colours, with 10 LEDs
for each colour, that makes up a total of 30 LEDs which I need the
controller to be able to switch on or off. Any ideas on what hardware
would be suitable for an application like this?

Perhaps something like the following: Microcontroller >----
(serial output, perhaps)------>Serial to bit decoder-->LED Drivers

Thanks very much for your involvement,
John.
John Barrett
Posted: Wed Feb 21, 2007 3:47 am
Guest
"Johnno" <cppjohn@hotmail.com> wrote in message
news:1172042028.159759.214450@t69g2000cwt.googlegroups.com...
Quote:
On Feb 21, 2:52 pm, "John Barrett" <ke5c...@verizon.net> wrote:
"Johnno" <cppj...@hotmail.com> wrote in message

news:1172036800.193498.138070@p10g2000cwp.googlegroups.com...

Hi everyone,

I want to build a gadget to flash 3 different groups of ten LEDs - to
be controlled by a microcontroller. I want these flashes to be
determined by the level of an audio signal (peak 5v.) So, in short, I
am looking for an easy-to-program microcontroller device with a built
on A/D converter that will accept a max 5v AC signal.

Any suggestions?
Thanks.

PIC and AVR both have A/D converters, and there are free programming
tools
for both. My preference is for AVR because there is a free C compiler --
I
hate working in BASIC !!

Even the smallest versions of these processors have more than adequate
I/O,
and most have internal oscilators so you dont have to mess with crystals.
Speed is limited without the xtal -- usually 1mhz -- but these are RISC
chips, so 1 million instructions per second -- which is more than
adequate
for A/D stuff and and integer version of the FFT to detect the bass
beats..
if it turns out you need a little more UMPH !! -- add the crystal and
take
it up to 8mhz or better depending on the specific chip. All have on board
timers which makes clocking the A/D sample rate easy, and while most all
have PWM outputs, there are some with THREE pwm outputs, which would be
interesting if you wanted to modulate the intensity of the LEDs rather
than
just flashing them.

Pretty much all these features and variations are available either the
PIC
or AVR, so its really more a question of what languages you are
comfortable
with, and what development tools are available, as both chips are about
equally easy to program for.

No matter which you choose, I strongly suggest getting the hardware
developers kit for the one you choose -- saves you the trouble of having
to
debug both hardware and software at the same time.

Great! I am familiar with C so I'll check out the AVRs.

Seeing as I am planning on having three banks of colours, with 10 LEDs
for each colour, that makes up a total of 30 LEDs which I need the
controller to be able to switch on or off. Any ideas on what hardware
would be suitable for an application like this?

Perhaps something like the following: Microcontroller >----
(serial output, perhaps)------>Serial to bit decoder-->LED Drivers

Thanks very much for your involvement,
John.


Keep the serial port free for printing debug information.. there is more
than enough digital I/O pins to control the LED banks (enough to do a dozen
or more LED banks of on/off control if you want to get crazy with this) ...
the cpu will directly drive the base/gate of an NPN darlington or N channel
mosfet, connecting or disconnecting the ground from the LEDs as needed..
pick your darlington or fet based on the total current for the bank of
LEDS.... (if the current is low enough, an NPN transistor would be plenty,
but I've done a few stepper and servo motor controllers and am used to
working with high currents)

For simple on/off control, just flip the right I/O bit.. for intensity
control, drive the transistor/fet from one of the PWM outputs -- the longer
the duty cycle of the PWM output, the brighter the LEDs will shine.

Since you seem to like the AVR -- there is a site called AVRFreaks that has
LOTS of sample source code including PWM LED drivers and other LED related
code. Just download the code and go to town -- lotsa nice folks there that
can help out if you need some help solving programming issues !!
Johnno
Posted: Wed Feb 21, 2007 5:13 am
Guest
Thanks again, although I need to be able to independently control 30
different LEDs. Either I didn't explain this clearly .. or.. do AVRs
really support 30 seperate outputs? (By bank I simply mean a group of
partiular coloured LEDs, I did not mean for this to cause confusion :P

Cheers
John
John Barrett
Posted: Wed Feb 21, 2007 5:42 am
Guest
"Johnno" <cppjohn@hotmail.com> wrote in message
news:1172049223.613368.179260@h3g2000cwc.googlegroups.com...
Quote:
Thanks again, although I need to be able to independently control 30
different LEDs. Either I didn't explain this clearly .. or.. do AVRs
really support 30 seperate outputs? (By bank I simply mean a group of
partiular coloured LEDs, I did not mean for this to cause confusion :P

Cheers
John


If you use one of the 40 pin AVRs, you could most certainly get 30
individual outputs (the chips have 4 ports of 8 bits each), but for a 3 bank
application, you are better off using one bit to drive one mosfet (I
recommend the International Rectifier HEXFET) for each bank.. if you have a
12v supply voltage available, run your LEDs for each bank in series with a
current limiting resistor between the LED chain and the power supply.. hook
the other end of the chain to the HEXFET, which will connect the LEDs to
ground when commanded to do so by the microcontroller.

If you dont have 12v available, or if you are using LEDs with a high forward
voltage drop, run them in parallel with a limit resistor for each LED.

The LEDs that we used for the light bar had a drop of about 1.7v and we had
6 per bank... needed about 10 volts.. so we ran them in series with a limit
resistor off the unregulated 12v car voltage and it kept the wiring simple
Smile (limit resistor was computed for a 14v power supply to make sure any
spikes from the car didnt blow the LEDs, at the cost of a little brightness
when the voltage was lower)
linnix
Posted: Wed Feb 21, 2007 9:57 am
Guest
On Feb 21, 1:13 am, "Johnno" <cppj...@hotmail.com> wrote:
Quote:
Thanks again, although I need to be able to independently control 30
different LEDs. Either I didn't explain this clearly .. or.. do AVRs
really support 30 seperate outputs? (By bank I simply mean a group of
partiular coloured LEDs, I did not mean for this to cause confusion :P

Cheers
John

Total driving power would be a problem. You can probably drive a few
high power LED directly from each AVR. You can do as we do:

Running an ARM master micro, which can crunch FFT like peanuts
(perhaps 20 to 30 per second). Using Jtag to control slave AVRs.

In this setup: http://linnix.com/boards.jpg

4 I/O pins from the ARM (lower left) jtag control 20 pins of the AVR
(upper right, showing back side only). The plan is to have
additional chains and additional AVR per chain. Namely

ARM -> AVR -> AVR -> AVR
\> AVR -> AVR -> AVR

By the way, the AVRs are unprogrammed, just jtag enabled.
The ARM is programmed with USB Jtag.
Anthony Fremont
Posted: Wed Feb 21, 2007 10:46 am
Guest
Johnno wrote:
Quote:
Thanks again, although I need to be able to independently control 30
different LEDs. Either I didn't explain this clearly .. or.. do AVRs
really support 30 seperate outputs? (By bank I simply mean a group of
partiular coloured LEDs, I did not mean for this to cause confusion Razz

Even the smallest micro should be able to handle this by using external
shift registers (like the 74hc595 for example). You clock the bits out
serially (only takes a few pins (1 for clock, 1 for data, 1 for latching).
By chaining the shift-registers together, you could drive scores of LEDs
like this and update them many, many times per second (like thousands Wink.
If you use a micro that has built in SPI, you can really go fast.

This should be helpful:
http://www.windmeadow.com/node/20
John Barrett
Posted: Wed Feb 21, 2007 10:49 am
Guest
"linnix" <me@linnix.info-for.us> wrote in message
news:1172066233.550606.198600@a75g2000cwd.googlegroups.com...
Quote:
On Feb 21, 1:13 am, "Johnno" <cppj...@hotmail.com> wrote:
Thanks again, although I need to be able to independently control 30
different LEDs. Either I didn't explain this clearly .. or.. do AVRs
really support 30 seperate outputs? (By bank I simply mean a group of
partiular coloured LEDs, I did not mean for this to cause confusion :P

Cheers
John

Total driving power would be a problem. You can probably drive a few
high power LED directly from each AVR. You can do as we do:

Running an ARM master micro, which can crunch FFT like peanuts
(perhaps 20 to 30 per second). Using Jtag to control slave AVRs.

In this setup: http://linnix.com/boards.jpg

4 I/O pins from the ARM (lower left) jtag control 20 pins of the AVR
(upper right, showing back side only). The plan is to have
additional chains and additional AVR per chain. Namely

ARM -> AVR -> AVR -> AVR
\> AVR -> AVR -> AVR

By the way, the AVRs are unprogrammed, just jtag enabled.
The ARM is programmed with USB Jtag.



If you are going to use the ARM as the math work-horse, there is no reason
not to use to to drive the fets for the LEDs -- no need for multiple
processors -- just extra hassle -- I havent looked at the latest stuff from
Atmel, but they are supposed to have chips with on-board DSP, floating
point, etc -- just depends on what you need :)

Besides -- Johnno wants a beat detector -- if he does a 256hz analog low
pass on the inbound audio before sampling, he'll only need 512 samples per
second, broken up into 8 segments of 64 samples to feed to the FFT.. that
would give him something around 4hz resolution on the FFT output and a small
enough dataset to keep the computations reasonably fast with an integer
FFT... dont really need the full accuracy of a floating point FFT for this
task. That would give him the ability to detect up to 8 beats per second,
and some discrimination ability to decide which beat to trigger on by
keeping a rolling event list to see what repetitive events have occured..
that would let the code automatically adjust to changes in the music. And
with a little extra work, respond to transient musical events

And if thats a little too much for the AVR -- there is still plenty of room
to back down the filter and sample rate to reduce the FFT load on the
processor while still covering most of the frequencies produced by the
drummer Smile
John Barrett
Posted: Wed Feb 21, 2007 12:01 pm
Guest
"Anthony Fremont" <spam-not@nowhere.com> wrote in message
news:12tomqdpm5a5jdf@news.supernews.com...
Quote:
Johnno wrote:
Thanks again, although I need to be able to independently control 30
different LEDs. Either I didn't explain this clearly .. or.. do AVRs
really support 30 seperate outputs? (By bank I simply mean a group of
partiular coloured LEDs, I did not mean for this to cause confusion :P

Even the smallest micro should be able to handle this by using external
shift registers (like the 74hc595 for example). You clock the bits out
serially (only takes a few pins (1 for clock, 1 for data, 1 for latching).
By chaining the shift-registers together, you could drive scores of LEDs
like this and update them many, many times per second (like thousands Wink.
If you use a micro that has built in SPI, you can really go fast.

This should be helpful:
http://www.windmeadow.com/node/20


But the problem isnt controlling lots of LEDs -- he only has 3 banks (10
leds each) .. so he only needs one output per bank -- besides --- using a 3
to 8 decoder and 8 bit latches will get you 64 bits of output using only 12
bits of microcontroller I/O.. or you could use I2C i/o chips (256 per I2C
bus, 8 bits per chip) and get 2048 bits of control.. either solution is much
simpler to deal with than shift registers, and the shift register setup
would have the pattern shifting across the banks as you moved the bits along
to their proper position .. or were you going to add a blanking circuit to
keep the LEDs turned off while you shifted the data ??

The problem is detecting the beats so the lights sync to the music..... Once
you got that under control, controlling LEDs is a no-brainer Smile (even with
neet little tricks like PWM brightness control and such that would make this
really cool)
Anthony Fremont
Posted: Wed Feb 21, 2007 12:57 pm
Guest
John Barrett wrote:
Quote:
"Anthony Fremont" <spam-not@nowhere.com> wrote in message
news:12tomqdpm5a5jdf@news.supernews.com...
Johnno wrote:
Thanks again, although I need to be able to independently control 30
different LEDs. Either I didn't explain this clearly .. or.. do AVRs
really support 30 seperate outputs? (By bank I simply mean a group
of partiular coloured LEDs, I did not mean for this to cause
confusion :P

Even the smallest micro should be able to handle this by using
external shift registers (like the 74hc595 for example). You clock
the bits out serially (only takes a few pins (1 for clock, 1 for
data, 1 for latching). By chaining the shift-registers together, you
could drive scores of LEDs like this and update them many, many
times per second (like thousands Wink. If you use a micro that has
built in SPI, you can really go fast. This should be helpful:
http://www.windmeadow.com/node/20


But the problem isnt controlling lots of LEDs -- he only has 3 banks
(10 leds each) .. so he only needs one output per bank -- besides ---
using a 3 to 8 decoder and 8 bit latches will get you 64 bits of
output using only 12 bits of microcontroller I/O.. or you could use
I2C i/o chips (256 per I2C bus, 8 bits per chip) and get 2048 bits of
control.. either solution is much simpler to deal with than shift
registers, and the shift register setup would have the pattern
shifting across the banks as you moved the bits along to their proper
position .. or were you going to add a blanking circuit to keep the
LEDs turned off while you shifted the data ??

I must be dense, but I could swear that the OP keeps telling you that he
needs 30 separate outputs.

"Thanks again, although I need to be able to independently control 30
different LEDs. Either I didn't explain this clearly .. or.. do AVRs really
support 30 seperate outputs? (By bank I simply mean a group of partiular
coloured LEDs, I did not mean for this to cause confusion Razz"

Quote:
The problem is detecting the beats so the lights sync to the
music..... Once you got that under control, controlling LEDs is a
no-brainer Smile (even with neet little tricks like PWM brightness
control and such that would make this really cool)

Confused He hasn't really mentioned that part yet. I don't mean to be rude but,
for all we know so far, he is making a linear 30 LED audio level detector
using 10 green, 10 yellow and 10 red leds. Smile AFAIK, he hasn't mentioned
anything about frequency detection yet. I could be wrong, but I think he
just wants independant control of 30 LEDs. Hopefully the OP will tell us
more.
John Barrett
Posted: Wed Feb 21, 2007 2:02 pm
Guest
"Anthony Fremont" <spam-not@nowhere.com> wrote in message
news:12tougfeb9qbd2b@news.supernews.com...
Quote:
John Barrett wrote:
"Anthony Fremont" <spam-not@nowhere.com> wrote in message
news:12tomqdpm5a5jdf@news.supernews.com...
Johnno wrote:
Thanks again, although I need to be able to independently control 30
different LEDs. Either I didn't explain this clearly .. or.. do AVRs
really support 30 seperate outputs? (By bank I simply mean a group
of partiular coloured LEDs, I did not mean for this to cause
confusion :P

Even the smallest micro should be able to handle this by using
external shift registers (like the 74hc595 for example). You clock
the bits out serially (only takes a few pins (1 for clock, 1 for
data, 1 for latching). By chaining the shift-registers together, you
could drive scores of LEDs like this and update them many, many
times per second (like thousands Wink. If you use a micro that has
built in SPI, you can really go fast. This should be helpful:
http://www.windmeadow.com/node/20


But the problem isnt controlling lots of LEDs -- he only has 3 banks
(10 leds each) .. so he only needs one output per bank -- besides ---
using a 3 to 8 decoder and 8 bit latches will get you 64 bits of
output using only 12 bits of microcontroller I/O.. or you could use
I2C i/o chips (256 per I2C bus, 8 bits per chip) and get 2048 bits of
control.. either solution is much simpler to deal with than shift
registers, and the shift register setup would have the pattern
shifting across the banks as you moved the bits along to their proper
position .. or were you going to add a blanking circuit to keep the
LEDs turned off while you shifted the data ??

I must be dense, but I could swear that the OP keeps telling you that he
needs 30 separate outputs.

"Thanks again, although I need to be able to independently control 30
different LEDs. Either I didn't explain this clearly .. or.. do AVRs
really support 30 seperate outputs? (By bank I simply mean a group of
partiular coloured LEDs, I did not mean for this to cause confusion Razz"

The problem is detecting the beats so the lights sync to the
music..... Once you got that under control, controlling LEDs is a
no-brainer Smile (even with neet little tricks like PWM brightness
control and such that would make this really cool)

:-? He hasn't really mentioned that part yet. I don't mean to be rude
but, for all we know so far, he is making a linear 30 LED audio level
detector using 10 green, 10 yellow and 10 red leds. Smile AFAIK, he hasn't
mentioned anything about frequency detection yet. I could be wrong, but I
think he just wants independant control of 30 LEDs. Hopefully the OP will
tell us more.



OK -- I admit it -- I'm brain dead -- I'm on the tail end of an all-nighter
that I just had to pull for work :)

So -- to answer the question.. yes -- using any of the 40 pin AVR chips, you
can easily drive 30 individual LEDs with no external circuitry except for
current limiting resistors... the I/O ports on the AVR can sink enough
current for a single LED easily.

and if all he wants is level detection, thats a breeze too -- somehow I got
the impression he was trying to do a "color organ" from the initial
description.. not a level meter.
Anthony Fremont
Posted: Wed Feb 21, 2007 2:11 pm
Guest
John Barrett wrote:
Quote:
"Anthony Fremont" <spam-not@nowhere.com> wrote in message

:-? He hasn't really mentioned that part yet. I don't mean to be
rude but, for all we know so far, he is making a linear 30 LED audio
level detector using 10 green, 10 yellow and 10 red leds. Smile AFAIK, he
hasn't mentioned anything about frequency detection yet. I could be
wrong, but I think he just wants independant control of
30 LEDs. Hopefully the OP will tell us more.

OK -- I admit it -- I'm brain dead -- I'm on the tail end of an
all-nighter that I just had to pull for work Smile

BTDT, no fun.

Quote:
So -- to answer the question.. yes -- using any of the 40 pin AVR
chips, you can easily drive 30 individual LEDs with no external
circuitry except for current limiting resistors... the I/O ports on
the AVR can sink enough current for a single LED easily.

and if all he wants is level detection, thats a breeze too -- somehow
I got the impression he was trying to do a "color organ" from the
initial description.. not a level meter.

He really hasn't told us what he's building exactly, maybe it's a secret.
Wink
Johnno
Posted: Wed Feb 21, 2007 5:37 pm
Guest
On Feb 22, 2:11 am, "Anthony Fremont" <spam-...@nowhere.com> wrote:
Quote:
John Barrett wrote:
"Anthony Fremont" <spam-...@nowhere.com> wrote in message
Confused He hasn't really mentioned that part yet. I don't mean to be
rude but, for all we know so far, he is making a linear 30 LED audio
level detector using 10 green, 10 yellow and 10 red leds. Smile AFAIK, he
hasn't mentioned anything about frequency detection yet. I could be
wrong, but I think he just wants independant control of
30 LEDs. Hopefully the OP will tell us more.
OK -- I admit it -- I'm brain dead -- I'm on the tail end of an
all-nighter that I just had to pull for work :)

BTDT, no fun.

So -- to answer the question.. yes -- using any of the 40 pin AVR
chips, you can easily drive 30 individual LEDs with no external
circuitry except for current limiting resistors... the I/O ports on
the AVR can sink enough current for a single LED easily.

and if all he wants is level detection, thats a breeze too -- somehow
I got the impression he was trying to do a "color organ" from the
initial description.. not a level meter.

He really hasn't told us what he's building exactly, maybe it's a secret.
Wink

Haha hey guys.. this topic has turned into something larger than I
originally anticipated! How wonderful!
Anyway.. back to the task at hand. My intention is to have a red bank
with 10 LEDs.. which act as a level meter, connected to an audio
source which (like was mentioned before) will have any frequencies
above around 150-250 Hz cut off. Once the level reaches a certain
amount (say, to drive the 6th, 7th, or 8th Red LED) the
microcontroller switches to the next colour bank of LEDs.. so that it
is a level meter with 10 level divisions, that changes colour on the
beat (in theory Razz)

I must admit that I have zero experience with microcontrollers, and I
expect the building time of this project to be long, with small pieces
completed at a time. Although, I have patience on my side, and with
the resources and helpful communities available to me on the net I am
confident about getting help.

If the AVR could directly drive 30 LEDs (Keeping in mind that it only
has power up to 10 at any one time) , is there an appropriate AVR that
could drive 10x25mA LEDs? (250mA, hmm.. perhaps?)
Anthony Fremont
Posted: Wed Feb 21, 2007 6:21 pm
Guest
Johnno wrote:

Quote:
Haha hey guys.. this topic has turned into something larger than I
originally anticipated! How wonderful!
Anyway.. back to the task at hand. My intention is to have a red bank
with 10 LEDs.. which act as a level meter, connected to an audio

Ok, got that.

Quote:
source which (like was mentioned before) will have any frequencies
above around 150-250 Hz cut off. Once the level reaches a certain

Ah, that'll make John and linnix happy, but I'd probably make an active low
pass filter using two op-amp sections. It's not hard to pass say 120Hz
fine, yet be down >30dB/octave above that. I can give you a schematic if
you want, just pin down the cut-off frequency.

Quote:
amount (say, to drive the 6th, 7th, or 8th Red LED) the
microcontroller switches to the next colour bank of LEDs.. so that it
is a level meter with 10 level divisions, that changes colour on the
beat (in theory Razz)

Hmm, I hate to say this, but you can probably do all this without a micro
and without too much trouble.

Quote:
I must admit that I have zero experience with microcontrollers, and I
expect the building time of this project to be long, with small pieces
completed at a time. Although, I have patience on my side, and with
the resources and helpful communities available to me on the net I am
confident about getting help.

Ahh, well good then, you want to use a micro. You'll get no qualms from me
on that.

Quote:
If the AVR could directly drive 30 LEDs (Keeping in mind that it only
has power up to 10 at any one time) , is there an appropriate AVR that
could drive 10x25mA LEDs? (250mA, hmm.. perhaps?)

I think you should still use shift registers. A 74HC595 should supply all
the current you need to drive 8 LEDs. Since you can clock them at up to
100MHz, it should be fast enough for you. Wink Just try reload it at least
60 - 70 times second. Don't let anyone tell you that 20 or 30Hz PWM update
rate is fast enough, it's flicker city. I don't use AVRs myself (no reason,
just started with PICs first), but any PIC with an ADC can easily take a
reading thousands of times per second.

Though you see numbers like that allot around the net, 25mA is an awful lot
of current for most LEDs. Are you using some that really require that kind
of current. I have a bunch of blue LEDs that will hurt your eyes at only a
couple of mA. I have a "super bright" green one that seems to violate the
known laws of thermodynamics, no trouble seeing that one outside on a bright
sunny day. ;-)

You didn't really explain how you want the other 20 LEDs to behave exactly.
Do they act as two groups that behave like first, but only respond to higher
audio levels?

Sorry I can't help you too much on the AVR front, but if you want to use a
PIC and do it in assembler, I'll give you a hand.
 
Page 1 of 2    Goto page 1, 2  Next   All times are GMT - 5 Hours
The time now is Tue Dec 02, 2008 12:09 am