Metronome
Summary
We usually think of soldering irons, pliers and oscilloscopes when we think of electronic tools, and while this project may not be useful to the electronics enthusiast we think it's a good way of showing how Arduino based tools can be useful in other fields - in this case for musicians. The Duinotech Metronome has adjustable tempo between 20 and 240 bpm and can be set to accent anywhere between every beat and every eighth beat. It also gives a display of the classical name for that tempo.
Table of Contents
Future Improvements
Being able to customize a project is what we like about Arduino and this one is no different. If you don't like the names and tempi that are displayed they can be changed in the tempos[] and temponames[] arrays. The notes that are played as tones can also be changed in the accnote[] array.
As we mentioned earlier, the use of precision timers is essential to this sketch. The slowest the Metronome can go without overflowing its counter is actually 15 bpm, and it can go much faster than 240 bpm if necessary, although the tones might merge into one another if it goes much faster. We've tested this sketch on the Leonardo too, and it can substitute if you don't have an UNO.
Another feature that could be handy is reprogramming one of the buttons to turn the Metronome on and off if necessary. We thought a handy feature would be 'follow-the-beat', which is why we put the Buzzer Module on the analog pins. The plan was to read the Buzzer (they also respond to sound like a microphone), detect the beat and display it, but we couldn't quite get it working.
Similar projects you may be interested in