Starting point for dimming LEDs randomly

I apologize for the broad question, new to electrical engineering though I have played with LEDs in the past. I have very little sense of orientation on this subject, but I’m trying to determine the scope or general starting point for making about 4-7 LEDs randomly and independently cycle in brightness over 5-20 seconds or so. This is for an art project I want to do with my kids and I am trying to save time where I can. Can anyone list the kinds of components that would be necessary for this or provide a somewhat targeted educational resource for this kind of thing? I’m happy doing my own research, just not sure where to start.

Thanks

Hi hyperthalamus,

How much EE experience do you have? Do you have any familiarity with microcontrollers or Arduinos and the programming environments for them?

For a microcontroller it’s pretty easy to control the brightness of LEDs using pulse width modulation (PWM). Designing code to periodically increase and decrease the intensity of LEDs is also fairly easy to implement. Making everything random causes more work. Without adding external hardware, most microcontrollers cannot generate truly random numbers. Pseudo-random is very easily achievable using various software techniques and may be acceptable for your situation. If you do a Google search on microcontroller random number generators, you can read up on many different implementation techniques that span from very simple to largely complex.

To get truly random numbers, a common and inexpensive hardware solution is to make a zener diode based random digit generator. This device amplifies the noise inherent in a zener diode and converts it into TTL/CMOS compatible signal levels that can be sampled by the microcontroller.

Let us know what your experience is and we can get you pointed in the right direction.

-Bill

Some links to projects that resemble what you are trying to do:

http://www.instructables.com/id/Random- … /?ALLSTEPS

http://playground.arduino.cc/Main/Analo … lFireflies

-Bill

@phalanx - no experience with microcontrollers yet, but I’m open. As far as EE goes, I’ve only done a bit of soldering and resistor matching, so almost complete beginner. My development experience (10 years) is limited to scripting languages (Node.js, php, actionscript etc) so I not familiar with the languages, but I am well acquainted with software engineering principles. I have a lynda subscription and they have some introductory courses on arduinos, so I’d probably start there.

About the randomness… I did a search for random number generation a few years ago and was quite surprised by how difficult that is to achieve, I read something about radioactive isotopes and something something that made me realize I didn’t care enough! :smiley: I settled on the builtin random seed tables and timestamps, etc), so yeah… I hear ya :slight_smile: I don’t mean to get lost on “random” so much, psuedo random is fine as it’s just an art project for my kids. I’m making a nightlight where the lights are like fruits on a small tree and I just want them to pulse without being too predictable is all.

I will check those links out, the fireflies looks particularly relevant. Thanks for the tips!