I used a Motorshield to turn a remote control vehicle into a robot. Then I was left with an unused remote control and the vehicle still had a receiver. I wanted to be able to change the robot parameters on the fly so I used the remote control receiver as inputs to the analog pins. I had some trouble with noise, so I used extra stacking headers on everything except the analog pins. This raise dthe motorshield off the arduino a little higher. . This allowed me direct access to the analog pins on the arduino and it solved my noise problem.
Hope this helps.