#15Intermediate

Turkish National Anthem with Buzzer

4.9(95)
153 completed
Turkish National Anthem with Buzzer
Project that plays the first two stanzas of the National Anthem of the Republic of Turkey note by note with Buzzer. Teaches frequency-note relationship and melody programming.

Video

Circuit Diagram

Turkish National Anthem with Buzzer - Circuit

Source Code

Arduino (C++)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Turkish National Anthem with Buzzer
4// ─────────────────────────────────────────
5// Press the button and the buzzer plays the first two verses of the
6// Turkish National Anthem note by note. A potentiometer in series with the
7// buzzer sets the volume. Lyrics: Mehmet Akif Ersoy, music: Osman Zeki
8// Ungor.
9//
10// Pins:
11//   D7 -> Play button, other leg to 5V
12//   D7 -> 10k resistor to GND (pull-down)
13//   D8 -> Potentiometer (volume) to Buzzer +
14//   Buzzer - to GND
15
16int buttonPin = 7;   // Play button
17int buzzer = 8;      // Buzzer output pin
18
19// Note frequencies (Hz). A trailing "d" means sharp (ad = A#), 2 and 3 are higher octaves
20int a = 440, ad = 466, b = 494, c = 523, cd = 554, d = 587, dd = 622, e = 659, f = 698;
21int fd = 740, g = 784, gd = 830, a2 = 880, ad2 = 932, b2 = 988, c2 = 1046, cd2 = 1108;
22int d2 = 1174, dd2 = 1244, e2 = 1318, f2 = 1396, fd2 = 1480, g2 = 1568, gd2 = 1660;
23int a3 = 1760;
24
25void setup() {
26  pinMode(buttonPin, INPUT);   // Button input (pull-down)
27  pinMode(buzzer, OUTPUT);
28}
29
30void loop() {
31  if (digitalRead(buttonPin)) {   // Button pressed?
32    playSong();                   // Play the anthem start to end
33  }
34}
35
36// Each tone() starts a note and the delay() after it is the note length (ms). noTone() adds a short
37// rest.
38void playSong() {
39  // Verse 1
40  // Lyrics
41  tone(buzzer, c);
42  delay(800);
43  tone(buzzer, f);
44  delay(800);
45  tone(buzzer, g);
46  delay(800);
47  tone(buzzer, gd);
48  delay(800);
49  tone(buzzer, e);
50  delay(400);
51  tone(buzzer, g);
52  delay(200);
53  tone(buzzer, f);
54  delay(1600);
55  noTone(buzzer);
56  delay(300);
57
58  // Lyrics
59  tone(buzzer, f);
60  delay(800);
61  tone(buzzer, ad2);
62  delay(800);
63  tone(buzzer, c2);
64  delay(800);
65  tone(buzzer, cd2);
66  delay(800);
67  tone(buzzer, a2);
68  delay(400);
69  tone(buzzer, c2);
70  delay(200);
71  tone(buzzer, ad2);
72  delay(1600);
73
74  // Lyrics
75  tone(buzzer, c2);
76  delay(200);
77  tone(buzzer, ad2);
78  delay(200);
79  tone(buzzer, c2);
80  delay(200);
81  tone(buzzer, g);
82  delay(400);
83  noTone(buzzer);
84  delay(100);
85  tone(buzzer, g);
86  delay(400);
87  tone(buzzer, ad);
88  delay(200);
89  tone(buzzer, gd);
90  delay(400);
91  tone(buzzer, e);
92  delay(200);
93  tone(buzzer, f);
94  delay(400);
95  tone(buzzer, g);
96  delay(200);
97  tone(buzzer, gd);
98  delay(400);
99  tone(buzzer, ad);
100  delay(200);
101  tone(buzzer, c2);
102  delay(400);
103  tone(buzzer, cd2);
104  delay(200);
105  tone(buzzer, dd2);
106  delay(400);
107  tone(buzzer, f2);
108  delay(200);
109  tone(buzzer, dd2);
110  delay(400);
111
112  // Lyrics
113  tone(buzzer, dd);
114  delay(200);
115  tone(buzzer, d);
116  delay(200);
117  tone(buzzer, dd);
118  delay(200);
119  tone(buzzer, c2);
120  delay(800);
121  tone(buzzer, ad);
122  delay(800);
123  tone(buzzer, gd);
124  delay(1600);
125
126  // Lyrics
127  tone(buzzer, c);
128  delay(200);
129  tone(buzzer, b);
130  delay(200);
131  tone(buzzer, c);
132  delay(200);
133  tone(buzzer, g);
134  delay(800);
135  tone(buzzer, c);
136  delay(800);
137  tone(buzzer, c2);
138  delay(800);
139  tone(buzzer, ad);
140  delay(200);
141  tone(buzzer, gd);
142  delay(200);
143  tone(buzzer, g);
144  delay(400);
145  tone(buzzer, gd);
146  delay(200);
147  tone(buzzer, f);
148  delay(800);
149
150  // "Dir, Lyrics
151  tone(buzzer, f2);
152  delay(800);
153  tone(buzzer, dd2);
154  delay(200);
155  tone(buzzer, cd2);
156  delay(400);
157  tone(buzzer, c2);
158  delay(200);
159  tone(buzzer, ad);
160  delay(400);
161  tone(buzzer, gd);
162  delay(200);
163  tone(buzzer, g);
164  delay(400);
165  tone(buzzer, f);
166  delay(200);
167  tone(buzzer, c2);
168  delay(400);
169  tone(buzzer, c);
170  delay(800);
171  tone(buzzer, f);
172  delay(1600);
173
174  // Verse 2
175  // Lyrics
176  tone(buzzer, c);
177  delay(800);
178  tone(buzzer, f);
179  delay(800);
180  tone(buzzer, g);
181  delay(800);
182  tone(buzzer, gd);
183  delay(800);
184  tone(buzzer, e);
185  delay(400);
186  tone(buzzer, g);
187  delay(200);
188  tone(buzzer, f);
189  delay(1600);
190  noTone(buzzer);
191  delay(300);
192
193  // Lyrics
194  tone(buzzer, f);
195  delay(800);
196  tone(buzzer, ad2);
197  delay(800);
198  tone(buzzer, c2);
199  delay(800);
200  tone(buzzer, cd2);
201  delay(400);
202  tone(buzzer, ad2);
203  delay(400);
204  tone(buzzer, a2);
205  delay(400);
206  tone(buzzer, c2);
207  delay(400);
208  tone(buzzer, ad2);
209  delay(800);
210
211  // Lyrics
212  tone(buzzer, c2);
213  delay(200);
214  tone(buzzer, ad2);
215  delay(200);
216  tone(buzzer, c2);
217  delay(200);
218  tone(buzzer, g);
219  delay(400);
220  noTone(buzzer);
221  delay(100);
222  tone(buzzer, g);
223  delay(400);
224  tone(buzzer, ad);
225  delay(200);
226  tone(buzzer, gd);
227  delay(400);
228  tone(buzzer, e);
229  delay(200);
230  tone(buzzer, f);
231  delay(400);
232  tone(buzzer, g);
233  delay(200);
234  tone(buzzer, gd);
235  delay(400);
236  tone(buzzer, ad);
237  delay(200);
238  tone(buzzer, c2);
239  delay(400);
240  tone(buzzer, cd2);
241  delay(200);
242  tone(buzzer, dd2);
243  delay(400);
244  tone(buzzer, f2);
245  delay(200);
246  tone(buzzer, dd2);
247  delay(400);
248
249  // Lyrics
250  tone(buzzer, dd);
251  delay(200);
252  tone(buzzer, d);
253  delay(200);
254  tone(buzzer, dd);
255  delay(200);
256  tone(buzzer, c2);
257  delay(800);
258  tone(buzzer, ad);
259  delay(800);
260  tone(buzzer, gd);
261  delay(1600);
262
263  // Lyrics
264  tone(buzzer, c);
265  delay(200);
266  tone(buzzer, b);
267  delay(200);
268  tone(buzzer, c);
269  delay(200);
270  tone(buzzer, g);
271  delay(800);
272  tone(buzzer, c);
273  delay(800);
274  tone(buzzer, c2);
275  delay(800);
276  tone(buzzer, ad);
277  delay(200);
278  tone(buzzer, gd);
279  delay(200);
280  tone(buzzer, g);
281  delay(400);
282  tone(buzzer, gd);
283  delay(200);
284  tone(buzzer, f);
285  delay(800);
286
287  // Lyrics
288  tone(buzzer, f2);
289  delay(800);
290  tone(buzzer, dd2);
291  delay(200);
292  tone(buzzer, cd2);
293  delay(400);
294  tone(buzzer, c2);
295  delay(200);
296  tone(buzzer, ad);
297  delay(400);
298  tone(buzzer, gd);
299  delay(200);
300  tone(buzzer, g);
301  delay(400);
302  tone(buzzer, f);
303  delay(200);
304  tone(buzzer, c2);
305  delay(400);
306  tone(buzzer, c);
307  delay(800);
308  tone(buzzer, f);
309  delay(1600);
310  noTone(buzzer);
311}
312

FAQ

How are musical notes converted to frequencies?▾

Each note corresponds to a specific frequency; for example, C in the 4th octave is approximately 262 Hz, and A is 440 Hz. In the code, the notes are stored in one array by frequency, and the durations are stored in a separate array; they are played in sequence using the `tone()` function.

How do I change the tempo of a melody?▾

Note durations are multiplied by a tempo factor. If you decrease the factor, the melody speeds up; if you increase it, the melody slows down. In the project, a potentiometer can be used for these types of adjustments.

The notes are sticking together—how do I separate them?▾

After each note, leave a brief silence lasting about 10–30% of the note's duration (noTone and delay). This ensures that the notes are heard distinctly.

Can I add my own song?▾

Yes. All you need to do is find the notes for the song in a note-frequency table and write them into one array, and write their durations into a second array. You can find ready-made note arrays for many songs on the internet that are compatible with Arduino.

Turkish National Anthem with Buzzer | BlueGrays