General project advice && LED drivers and sleep mode(s)

Hi,

Just as a background, I have never coded/used an Arduino before (I've watched tutorials, though, and know the basics) but I have worked with simple circuits before and have coded in Pascal, C++, and Python. My main problems are when it comes to hardware and whether or not somethings are possible.

Essentially, I am planning to install a number of LEDs in my room (on the ceiling, the floor, in the cabinet, et alibi). Because of the power demands (mainly current-wise), I've decided to power the LED driver(s) (which for now is planned to be the TLC9540 NT) independently, using either a DC plug/USB plug and a voltage regulator. The arduino will wake upon the door opening or the 'wake' button being pressed.It will turn on the floor lights (to the brightness detected on a slider). After a few seconds, if the off/delay buttons are not pressed, it will turn on the ceiling lights to the brightness of a slider and turn off the floor lights. Note that not all the ceiling lights will turn on; since I normally won't need my room to be too bright, only a few of the pins on the LED driver(s) will be on (with the arduino setting the number, based on another slider). Once this is all done, the arduino will go to sleep. When the door is again opened or the wake button pressed, the arduino turns on the floor lights and takes commands for a certain amount of time (to change the number of lights of the brightness, or to turn them off) before returning to sleep. Also, if when waking up the arduino detects light and the LEDs are not on, it goes straight back to sleep since the sun is out or the room lights are on.

My main concern with this is whether it will be possible to run the LEDs while the arduino is sleeping. It seems like a waste of energy (and possibly damaging to the arduino) to keep everything running when nothing is being done. The settings of the lights, of course, wouldn't need to be able to be altered unless the 'wake' button/door is opened. However I am not sure if this LED driver, or indeed all of them, require a constant input of values from the arduino. I haven't found anything on whether or not a certain sleep mode would keep the LEDs on, or if there is a driver there which stores the values in itself and only changes them with new input. Any help with this would be greatly appreciated.

I would be thankful to know of any other problems I might run into you can think of.

Thanks for all the help,

I cannot answer most of your questions due to a lack of experience with TLC9540. I can say that the Arduino processor maintains the state of the pins while sleeping. In other words, if you configure a pin to be an output, set the pin to a HIGH value, and then put the processor to sleep, the pin remains a HIGH output.

Does the same apply to analog pins (more specifically, the PWM, if that matters)? If it does, then that definitely solves my most pressing concern.

I think what you are trying to do is all feasible. You should able to wake up arduino with interrupt(door opening or button). tlc5940 and most drivers should maintain it's status without input as long as they are powered. For power comsumption of Arduino, it's only 0.3W at 9V base on http://arduino.cc/blog/2010/04/26/putting-an-arduino-diecimila-to-sleep-waking-up-2-part-tutorial/. I don't know whether you still want to save 0.1W unless the arduino is powered by battery.

neurostar:
I think what you are trying to do is all feasible. You should able to wake up arduino with interrupt(door opening or button). tlc5940 and most drivers should maintain it's status without input as long as they are powered. For power comsumption of Arduino, it's only 0.3W at 9V base on http://arduino.cc/blog/2010/04/26/putting-an-arduino-diecimila-to-sleep-waking-up-2-part-tutorial/. I don't know whether you still want to save 0.1W unless the arduino is powered by battery.

Awesome, thanks! That link is perfect; I wasn't able to find such a clear chart about the different sleep modes.

As for the power consumption, I plan to run the arduino on usb power (from a usb wall outlet) and possibly, if there is a blackout, on batteries, so small amounts of power consumption aren't a problem. I didn't realise it was such a small load (and I guess running it at 5v would mean even less consumption, no?). Would heat be a problem, though? Because this would be running indefinitely otherwise. Also, in that regard, would the LED drivers need a fan or heatsink if they are on for many hours on end? I didn't think of this before, but I am thinking that they ill have more power running through them than the arduino.

I don't think heat from Arduino is concern at all. It is microcontoller that should run for long time without problems. The heat from the LED driver and LEDs are depends on what current to LEDs and how many LEDs you want to use. Take a look at the TLC5940 datasheet, you can calculate power dissipation from the chip. If heat dissipation is high, the chip need to be soldered with reflow to lower the thermal resistance.

neurostar:
I don’t think heat from Arduino is concern at all. It is microcontoller that should run for long time without problems. The heat from the LED driver and LEDs are depends on what current to LEDs and how many LEDs you want to use. Take a look at the TLC5940 datasheet, you can calculate power dissipation from the chip. If heat dissipation is high, the chip need to be soldered with reflow to lower the thermal resistance.

Thanks again for all the help!

I’m going to get all the parts, test things out, and report back on how they have gone/ask any questions I may have.

Does the same apply to analog pins (more specifically, the PWM, if that matters)?

In Idle sleep mode, PWM continues to operate. The "deeper" sleep modes shut off the processor clock which shuts off PWM.