#15Mittel

Nationalhymne mit Buzzer

4.9(95)
151 abgeschlossen
Nationalhymne mit Buzzer
Das Projekt, das die ersten beiden Strophen der Nationalhymne der Republik Türkei Note für Note mit Buzzer spielt. Es lehrt die Frequenz-Noten-Beziehung und das Programmieren von Melodien.

Video

Schaltplan

Nationalhymne mit Buzzer - Circuit

Quellcode

Arduino (C++)
1//Türkiye Cumhuriyeti İstiklal Marşı   
2//Söz    : Mehmet Akif Ersoy
3//Beste  : Osman Zeki Üngör
4
5int buttonPin = 7;
6int buzzer = 8;
7int a = 440, ad = 466, b = 494, c = 523, cd = 554, d = 587, dd = 622, e = 659, f = 698;
8int fd = 740, g = 784, gd = 830, a2 = 880, ad2 = 932, b2 = 988, c2 = 1046, cd2 = 1108;
9int d2 = 1174, dd2 = 1244, e2 = 1318, f2 = 1396, fd2 = 1480, g2 = 1568, gd2 = 1660;
10int a3 = 1760;
11
12void setup() {  
13  pinMode(buttonPin, INPUT);
14  pinMode(buzzer, OUTPUT);
15}
16
17void loop() {  
18  if (digitalRead(buttonPin)) {
19    playSong();
20  }
21}
22
23void playSong() {
24    //Korkma Sönmez Bu Şafak  
25    tone(buzzer, c);              
26    delay(800);                   
27    tone(buzzer, f);              
28    delay(800);
29    tone(buzzer, g);
30    delay(800);
31    tone(buzzer, gd);
32    delay(800);
33    tone(buzzer, e);
34    delay(400);
35    tone(buzzer, g);
36    delay(200);        
37    tone(buzzer, f);
38    delay(1600);        
39    noTone(buzzer);
40    delay(300);
41    
42    //Larda Yüzden Al Sancak
43    tone(buzzer, f);
44    delay(800);        
45    tone(buzzer, ad2);
46    delay(800);        
47    tone(buzzer, c2);
48    delay(800);        
49    tone(buzzer, cd2);
50    delay(800);
51    tone(buzzer, a2);
52    delay(400);
53    tone(buzzer, c2);
54    delay(200);
55    tone(buzzer, ad2);
56    delay(1600);        
57    
58    //Sönmeden Yurdumun Üstünde Tüten En Son Ocak O Be
59    tone(buzzer, c2);
60    delay(200);        
61    tone(buzzer, ad2);
62    delay(200);        
63    tone(buzzer, c2);
64    delay(200);        
65    tone(buzzer, g);
66    delay(400);        
67    noTone(buzzer);
68    delay(100);  
69    tone(buzzer, g);
70    delay(400);        
71    tone(buzzer, ad);
72    delay(200);
73    tone(buzzer, gd);
74    delay(400);   
75    tone(buzzer, e);
76    delay(200);
77    tone(buzzer, f);
78    delay(400);   
79    tone(buzzer, g);
80    delay(200);
81    tone(buzzer, gd);
82    delay(400);        
83    tone(buzzer, ad);
84    delay(200);        
85    tone(buzzer, c2);
86    delay(400);        
87    tone(buzzer, cd2);
88    delay(200);        
89    tone(buzzer, dd2);
90    delay(400);        
91    tone(buzzer, f2);
92    delay(200);        
93    tone(buzzer, dd2);
94    delay(400);     
95    
96    //Nim Milletimin
97    tone(buzzer, dd);
98    delay(200);
99    tone(buzzer, d);
100    delay(200);
101    tone(buzzer, dd);
102    delay(200);
103    tone(buzzer, c2);
104    delay(800);
105    tone(buzzer, ad);
106    delay(800);
107    tone(buzzer, gd);
108    delay(1600);
109    
110    // Yıldızıdır Parlayacak O benim
111    tone(buzzer, c);
112    delay(200);
113    tone(buzzer, b);
114    delay(200);
115    tone(buzzer, c);
116    delay(200);
117    tone(buzzer, g);
118    delay(800);
119    tone(buzzer, c);
120    delay(800);
121    tone(buzzer, c2);
122    delay(800);
123    tone(buzzer, ad);
124    delay(200);
125    tone(buzzer, gd);
126    delay(200);
127    tone(buzzer, g);
128    delay(400);
129    tone(buzzer, gd);
130    delay(200);
131    tone(buzzer, f);
132    delay(800);
133    
134    //Dir O Benim Milletimindir Ancak
135    tone(buzzer, f2);
136    delay(800);
137    tone(buzzer, dd2);
138    delay(200);
139    tone(buzzer, cd2);
140    delay(400);
141    tone(buzzer, c2);
142    delay(200);
143    tone(buzzer, ad);
144    delay(400);
145    tone(buzzer, gd);
146    delay(200);
147    tone(buzzer, g);
148    delay(400);
149    tone(buzzer, f);
150    delay(200);
151    tone(buzzer, c2);
152    delay(400);
153    tone(buzzer, c);
154    delay(800);
155    tone(buzzer, f);
156    delay(1600);
157    
158    //İKİNCİ KITA
159    //Çatma Kurban Olayım
160    tone(buzzer, c);
161    delay(800);
162    tone(buzzer, f);
163    delay(800);
164    tone(buzzer, g);
165    delay(800);
166    tone(buzzer, gd);
167    delay(800);
168    tone(buzzer, e);
169    delay(400);
170    tone(buzzer, g);
171    delay(200);        
172    tone(buzzer, f);
173    delay(1600);        
174    noTone(buzzer);
175    delay(300);
176    
177    //Çehreni Ey Nazlı Hilal
178    tone(buzzer, f);
179    delay(800);        
180    tone(buzzer, ad2);
181    delay(800);        
182    tone(buzzer, c2);
183    delay(800);        
184    tone(buzzer, cd2);
185    delay(400);
186    tone(buzzer, ad2);
187    delay(400);
188    tone(buzzer, a2);
189    delay(400);
190    tone(buzzer, c2);
191    delay(400);
192    tone(buzzer, ad2);
193    delay(800);        
194    
195    //Kahraman Irkıma Bir Gül Ne Bu Şiddet Bu Celal Sana
196    tone(buzzer, c2);
197    delay(200);        
198    tone(buzzer, ad2);
199    delay(200);        
200    tone(buzzer, c2);
201    delay(200);        
202    tone(buzzer, g);
203    delay(400);        
204    noTone(buzzer);
205    delay(100);  
206    tone(buzzer, g);
207    delay(400);        
208    tone(buzzer, ad);
209    delay(200);
210    tone(buzzer, gd);
211    delay(400);   
212    tone(buzzer, e);
213    delay(200);
214    tone(buzzer, f);
215    delay(400);   
216    tone(buzzer, g);
217    delay(200);
218    tone(buzzer, gd);
219    delay(400);        
220    tone(buzzer, ad);
221    delay(200);        
222    tone(buzzer, c2);
223    delay(400);        
224    tone(buzzer, cd2);
225    delay(200);        
226    tone(buzzer, dd2);
227    delay(400);        
228    tone(buzzer, f2);
229    delay(200);        
230    tone(buzzer, dd2);
231    delay(400);     
232    
233    //Olmaz Dökülen
234    tone(buzzer, dd);
235    delay(200);
236    tone(buzzer, d);
237    delay(200);
238    tone(buzzer, dd);
239    delay(200);
240    tone(buzzer, c2);
241    delay(800);
242    tone(buzzer, ad);
243    delay(800);
244    tone(buzzer, gd);
245    delay(1600);
246    
247    //Kanlarımız Sonra Helal Hakkıdır
248    tone(buzzer, c);
249    delay(200);
250    tone(buzzer, b);
251    delay(200);
252    tone(buzzer, c);
253    delay(200);
254    tone(buzzer, g);
255    delay(800);
256    tone(buzzer, c);
257    delay(800);
258    tone(buzzer, c2);
259    delay(800);
260    tone(buzzer, ad);
261    delay(200);
262    tone(buzzer, gd);
263    delay(200);
264    tone(buzzer, g);
265    delay(400);
266    tone(buzzer, gd);
267    delay(200);
268    tone(buzzer, f);
269    delay(800);
270    
271    //Hakk'a Tapan Milletimin İstiklal
272    tone(buzzer, f2);
273    delay(800);
274    tone(buzzer, dd2);
275    delay(200);
276    tone(buzzer, cd2);
277    delay(400);
278    tone(buzzer, c2);
279    delay(200);
280    tone(buzzer, ad);
281    delay(400);
282    tone(buzzer, gd);
283    delay(200);
284    tone(buzzer, g);
285    delay(400);
286    tone(buzzer, f);
287    delay(200);
288    tone(buzzer, c2);
289    delay(400);
290    tone(buzzer, c);
291    delay(800);
292    tone(buzzer, f);
293    delay(1600);
294    noTone(buzzer);
295}

FAQ

Wie werden Noten in Frequenzen umgerechnet?▾

Jede Note entspricht einer bestimmten Frequenz; beispielsweise liegt C in der 4. Oktave bei etwa 262 Hz, A bei 440 Hz. Im Code werden die Noten in einer Reihe nach ihrer Frequenz und die Dauer in einer separaten Reihe gespeichert und mit „tone()“ nacheinander abgespielt.

Wie kann ich die Geschwindigkeit der Melodie ändern?▾

Die Notenwerte werden mit einem Tempofaktor multipliziert. Verringert man den Faktor, wird die Melodie schneller; erhöht man ihn, wird sie langsamer. Im Projekt kann ein Potentiometer für solche Einstellungen verwendet werden.

Die Noten kleben aneinander – wie kann ich sie voneinander trennen?▾

Lasse nach jeder Note eine kurze Pause von etwa 10–30 % ihrer Dauer (noTone und delay). Dadurch werden die einzelnen Noten deutlich voneinander abgesetzt.

Kann ich mein eigenes Lied hinzufügen?▾

Ja. Es reicht aus, wenn du die Noten des Liedes anhand der Noten-Frequenz-Tabelle in einem Array und die Dauer in einem zweiten Array speicherst. Im Internet findest du für viele Lieder fertige Noten-Arrays für Arduino.

Nationalhymne mit Buzzer | BlueGrays