Not preparing for button 'bouncing' is a common mistake that most beginners will come across once, and there are several methods for debouncing to allow for accurate button reading on digital input pins. A simple solution is with hardware - using a pull-down resistor and capacitor to keep the logic low (or high). However you may not have the parts, or the space in the prototype. Therefore the method described by Jordan at digitalduino will do the trick - they describe how to debounce using interrupts. By wiring a button to an interrupt pin, when activated a function runs that counts time using millis() to debounce in software.
It is hints and tips like debouncing that can be found in various tutorials for beginners, and if you're interested in learning about Arduino - but not too sure where to start - check out our new Experimenter's Kit for Arduino:
The package includes a wide variety of parts, sensors and modules including: a servo motor, lights, buttons, switches, sound, sensors, breadboard, wires and more. Furthermore a Freetronics Eleven Arduino-compatible board is included to make this an extensive hobby experimenter, inventor and starter kit. However we don't leave you alone to figure it all out, included is a great project and instruction booklet, plus access to a supporting web page and software examples. In other words - this is everything you need to get started for a fun range of electronics and Arduino related projects!
So to get started or for more information and to order, check out the product page.