Mariodan sonra sıra geldi biricik Darth Vader‘ımızın amaçsızca çabaladığı Star Wars‘ın tema müziğine.
Her şey ilk konudaki ile aynı olup sadece kodlarda değişiklik yapacağız.
1x Arduino (Ben UNO ve Nano ile yaptım)
1x Piezo buzzer
1x 330 ohm direnç
Biraz kablo ve lehim için gerekli olan her şey
Bağlantı Şeması:
Arduino Digital Pin 3 (PWM) –> Buzzer –> 330 ohm direnç –> Arduino GND pin’i.
Arduino Uno Kullanarak:
Arduino Nano Kullanarak:
Sonuç:
https://www.youtube.com/watch?v=-jtW8cf7124
Gerekli Olan Kodumuz:
Aşağıdaki kodu kopyalayıp, bilgisayarınızda kurulu olan Arduino’ya yapıştırarak kullanabilirsiniz.
/*
Arduino Stars Wars Theme Song
*/
/*************************************************
www.QuadBrain.com
*************************************************/
const int c = 261; const int d = 294; const int e = 329; const int f = 349; const int g = 391; const int gS = 415; const int a = 440; const int aS = 455; const int b = 466; const int cH = 523; const int cSH = 554; const int dH = 587; const int dSH = 622; const int eH = 659; const int fH = 698; const int fSH = 740; const int gH = 784; const int gSH = 830; const int aH = 880; const int buzzerPin = 3; const int ledPin1 = 12; const int ledPin2 = 13; int counter = 0; void setup() { //Setup pin modes pinMode(buzzerPin, OUTPUT); pinMode(ledPin1, OUTPUT); pinMode(ledPin2, OUTPUT); } void loop() { //Play first section firstSection(); //Play second section secondSection(); //Variant 1 beep(f, 250); beep(gS, 500); beep(f, 350); beep(a, 125); beep(cH, 500); beep(a, 375); beep(cH, 125); beep(eH, 650); delay(500); //Repeat second section secondSection(); //Variant 2 beep(f, 250); beep(gS, 500); beep(f, 375); beep(cH, 125); beep(a, 500); beep(f, 375); beep(cH, 125); beep(a, 650); delay(650); } void beep(int note, int duration) { //Play tone on buzzerPin tone(buzzerPin, note, duration); //Play different LED depending on value of 'counter' if(counter % 2 == 0) { digitalWrite(ledPin1, HIGH); delay(duration); digitalWrite(ledPin1, LOW); }else { digitalWrite(ledPin2, HIGH); delay(duration); digitalWrite(ledPin2, LOW); } //Stop tone on buzzerPin noTone(buzzerPin); delay(50); //Increment counter counter++; } void firstSection() { beep(a, 500); beep(a, 500); beep(a, 500); beep(f, 350); beep(cH, 150); beep(a, 500); beep(f, 350); beep(cH, 150); beep(a, 650); delay(500); beep(eH, 500); beep(eH, 500); beep(eH, 500); beep(fH, 350); beep(cH, 150); beep(gS, 500); beep(f, 350); beep(cH, 150); beep(a, 650); delay(500); } void secondSection() { beep(aH, 500); beep(a, 300); beep(a, 150); beep(aH, 500); beep(gSH, 325); beep(gH, 175); beep(fSH, 125); beep(fH, 125); beep(fSH, 250); delay(325); beep(aS, 250); beep(dSH, 500); beep(dH, 325); beep(cSH, 175); beep(cH, 125); beep(b, 125); beep(cH, 250); delay(350); }