Gyros drift naturally overtime. Numerous ways to deal with this: You can re-zero constantly; you can assume drift overtime and compensate in your code; you can combine data with an accelerometer and/or magnet heading.
See "Drift" here:
http://www.phidgets.com/docs/Gyroscope_Primer
and here:
http://www.instructables.com/id/Guid...Arduino-inclu/