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.

Gerekli Olanlar:darth_vader_by_ephebopus365-d7apejw

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:

1

Arduino Nano Kullanarak:

buzzer

 Sonuç:

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);
}

Düşüncelerinizi paylaşın;