My dream generator includes a lot of separate components and getting them to work together is a challenge. Here's a laundry list of what it entails.
There's a Maxbotix LV-EZ1 Ultrasonic Proximity sensor. http://www.adafruit.com/products/172
They weren't kidding. It is pretty easy. It's got 7 hook up holes but you only really need three of them if you want to use PWM which seems to be a little more accurate than Analog. It takes a PWM pin on your Arduino though so that could be a factor in your project.
It's got a string of awesome blue LEDs from SuperBright LEDs. They run on 12 Volts which created some powering complications that I'll explain later.
There's a music box that plays my own custom song. The LEDs and the music box are activated by an approaching person (or pet, they can dream too can't they?) when the sensor gets to a predetermined proximity reading.
There's a cool blue pulsing button that activates dream generation. (And happens to be waterproof.) http://www.adafruit.com/products/481
(Be careful when ordering this because there's one with an identical picture that's an on/off switch.) For our purposes we wanted one that acts as a pushbutton.
There's a thermal receipt printer that prints out the dreams. http://www.adafruit.com/products/600
And finally there's an Ethernet Enabled Arduino. (You could also use a regular Arduino and an Ethernet Shield.)
So it all goes together like this. You are attracted to the box because of the blue pulsing button. As you approach the entire thing lights up and mysterious music begins to play. You press the button to activate the dream generator and it goes out to the internet and mashes up relevant (or irrelevant) internet fodder such as twitter feeds, headlines, facebook statuses, etc. and then mashes them up through the filter of iconic Beat poet Allan Ginsberg's signature work Howl and voila! You've turned the internet into your friend instead of a mind numbing cavalcade of non-sequiters.