I used this one with D2 and highly recommend. We got it when he was about 2 and started getting up way too early.
http://www.amazon.com/American-Innov...er+alarm+clock
You can set it to change from a yellow to a green light when it's okay to get up. We referred to them as the sleepy-time light and the wake-up light. It worked almost immediately, and he still knows that if he wakes up too early he plays in bed until the green light comes on. There is similar clock that doesn't show the time, but has a face. I got the one with "hands", thinking we could use it when he's ready to learn how to tell time.