How to Easily Play Music With Buzzer on Arduino (The Imperial March - STAR WARS)

214,791

92

31

Hi,I recently designed a sort of "library" in order to make easier to play exact notes on arduino with the buzzer.
I included the frequencies of the notes (pleasant to be heard) with #defines .
I then defined the value of the BPM ( you can modify it obviously) and according to that I defined the note values
( the most commonly used ones).
With this defines you can easyly play a note with the command "tone" like this:
tone(pin, note, duration)
eg:
tone(8,LA3,Q);
delay(1+Q);

the delay is important because thanks to that the note doesn't overlap possibly with the successive ones.
(the "1+" is one extra millisecond that i usually put to separate notes but you can avoid it if you prefer the notes to be continuous.

Here is the code:
ARDU NOTES
(http://tny.cz/d1a629c1)

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Example: the Imperial March

With a lot of effort I did it!
I wrote the code for the first part of the imperial march... so cool !

HERE IS THE CODE:
The Imperial March

and a video that I made:

Step 2: Well Done !

Now is your turn , make your arduino "whistle" all kinds of songs!
Hope you enjoyed this instructable !

6 People Made This Project!

Recommendations

  • Made with Math Contest

    Made with Math Contest
  • Multi-Discipline Contest

    Multi-Discipline Contest
  • Robotics Contest

    Robotics Contest

31 Discussions

None
gberl001

6 months ago

"Impressive...Most Impressive" - Darth

None
AbhishekC37NurullahM

Reply 3 years ago

hey Nurullah, how did u connect buzzer with lcd & what was the code?

Please help...

Thank You

None
x.h

2 years ago

THANKS A LOT

None
notak

2 years ago

THANKS !!!!

None
Aidil Salihin

2 years ago

thank you so much! now i so excited

None
Paladin Fade.

3 years ago

its 2016 almost 2017 now. the current version of the arduino ide is not compatible with the code. what version of the ide are you using

None
ManuelA70

3 years ago

Thanks! Work perfect!! Im happy now hahahaa

None
Vexelius

3 years ago

Thank you very much for this tutorial! It helped me to build my own tone system (which is fully compatible with millis), using yours as reference.

None
Jean0x7BE

3 years ago

Excellent! Thanks for the nice job, it gave me an excellent Friday night! ;)

None
ArifSae

3 years ago

Thanks. I am trying this. Just a humble suggestions, if a name of buzzer pin is used instead of 8 at all places, it would be easier to change buzzer pin. (using find and replace to do so). Thanks for sharing.

None
JiříM9

3 years ago

Thanks man, that is awesome!!!

None
lucianom11

3 years ago

Thanks dude, pretty good library!!!

None
DawnetteB1

3 years ago

Yes it works on Arduino, just made this!

None
felpadon

3 years ago

does it work on the arduino UNO?

None
RodrigoI4

4 years ago

Thank you man. This is so funny and simple.

None
MauiJerry

4 years ago

Nice. However, if your code used a variable (or constant) for the buzzer pins, it would be a LOT easier to reuse in slightly different setups. For example the Sparkfun Protosnap comes with buzzer prewired on Pin2.

This is good coding practice - "Avoid Magic Numbers"