Mood lamp/clock with some gimmics

Hi

I have for some time wanted to make a mood lamp(actually thats why i got a arduino), and i have used some code examples of the net and such, but i kinda want a more advanced mood lamp.
What i want it to do is something like this:
Have a clock/alarm, with buzzer, using RTC, thinking a backlit 20*4 screen or some cheap graphics LCD.
Have a bunch of leds, i have some samples of this chip on its way for it TLC5916 - 8-Bit Constant-Current LED Sink Driver, from TI
Have bluetooth capabilities, so i can fx pair it to my android phone and let fx smileys in a recieved sms change how the leds are lit up, maybe even show a smiley on the lamp, or maybe even more advanced, show the text on the LCD.(All these things would need some android programming wich i dont know how to do :~)
Selectable led modes, either using a single button or a menu system on the LCD.

Is this possible to do with a arduino?

Is this possible to do with a arduino?

Well, the Arduino can't program your android app, but the rest of the stuff is possible.

Hi,

I'm trying to do something that will use similar technologies to what you want to do. You can easily control a small character LCD screen and some RGB LED's using PWM using just the Arduino. My project will be using one of the Nokia 6100 knock off screens for graphical display which is controlled from the Arduino via SPI.

To have the project controlled via bluetooth you will need to get a bluetooth module. Something like this http://www.rovingnetworks.com/documents/RN-41.pdf which you can get from a lot of the Arduino stockists and is pretty cheap.

The software on the Arduino won't be trivial as you'll have to effectively do multitasking without an OS. Lots of interrupt driven code will be needed. For anything more complicated than basic tutorial projects I'd reccommend using plain old avr-gcc as opposed to the Arduino IDE. This is a good starting point AVR Libc Home Page. I use a basic Makefile to build my projects and flash the arduino, and use a basic text editor to write the C++, on my macbook or on my linux desktop.

For the android side of things I'd get the control protocol working through the usb serial connection using hyperterminal or similar first. Once you have that sorted, you should be able to write the android Java program that puts a simple UI on top of the same serial command set and sends it via bluetooth to the arduino usart.

Cheers,

Emyr

Thanks for the replys, great ones also :slight_smile:
The clock and the bluetooth parts dont need to be on the same arduino, i guess its easier to make the clock part on one atmega, and then the bluetooth/serial and led controller on another, and just let them communicate over serial or SPI, even a simple high signal on a pin from the clock atmega to the led controller atmega, could let it do its stuff.
The bluetooth module im thinking about using is this
http://www.dealextreme.com/p/wireless-bluetooth-rs232-ttl-transceiver-module-80711 its cheap, the only con about it is its a slave only module, but perfect for this type of thing.

To add to emyr666's suggestions, you can also use avr studio with avr-gcc which can take care of the Make file stuff, then you can use avr-dude to upload your programs which is what arduino does.

I don't think this kind of project would require two micros and using two would add an unneeded layer of complexity. It doesn't sound like you will have any processor intensive going on so it just doesn't seem necessary and its always nice to keep parts count down.

Of course 'necessary' might not be one of the design criteria and I bet you would learn a lot about different ways for the atmegas to talk to each other.

Growler, never did any coding for atmegas in other than the Arduino IDE, and the reason i might "split" it up on multiple MCUs, is that i just got some MSP430s i might wanna incorporate, so i can learn something about them :smiley:

I've got one of these... http://www.ikea.com/au/en/catalog/products/60096373 and am gonna replace the light inside it with an arduino controlling some RGB LED's with a bluetooth module. I'll probably make a nice varnished wooden box to mount the glass ball on top - a kind of steampunk look. Will then have an app on an android phone to control the colour of the light and have it flash and pulse etc.
The 'animations' will be pre-programmed in the arduino so the android / bluetooth will effectively be an incredibly overengineered remote control :slight_smile:

emyr666:
I've got one of these... http://www.ikea.com/au/en/catalog/products/60096373 and am gonna replace the light inside it with an arduino controlling some RGB LED's with a bluetooth module. I'll probably make a nice varnished wooden box to mount the glass ball on top - a kind of steampunk look. Will then have an app on an android phone to control the colour of the light and have it flash and pulse etc.
The 'animations' will be pre-programmed in the arduino so the android / bluetooth will effectively be an incredibly overengineered remote control :slight_smile:

Thats also a thing i might incorporate, im not gonna use RGB leds, but a bunch of white, red, blue, green and yellow ones, lets me have a higher resolution if i wanna make it as a display.

First part of this moodlamp is done, figuring out how to use the TLC5916 chips.
So now i wanna make something with LCD, but what LCD should i look for? it needs to be easy to read at night, i allready have a cheap 16x2 LCD, but its viewing angle is like 15 degress.
And it should be big enough to incorporate a simple menu system.

it needs to be easy to read at night, i allready have a cheap 16x2 LCD, but its viewing angle is like 15 degress.

The viewing angle has nothing to do with the LCD being easy to read at night. A backlight is all that is required to be able to read the thing at night.

The ability to turn the backlight off, or down, at night (automatically?) would be an important part of your project, but not something that is built into the LCD.

You need to define what "easy to read at night" means to use, especially how that differs from easy to read at 3:00 in the afternoon.

If viewing angle is important, say so.

And it should be big enough to incorporate a simple menu system.

One line by 8 characters is enough for a simple menu system, if the menu is simple enough.