7 Ocak 2022 Cuma

Arduino & Buzzer ile STAR WARS Melodi Projesi

  Sevgili Öğrenciler,


Arduino robotik setinizle aşağıdaki referans kodları da Arduino programında yazarak Buzzer ile melodi çalma projesi  yapıyoruz.

Projede Kodla Türkiye Robotik setindeki Shielde entegre  buzzer ile "Star Wars Film Müziği(Imperial March)"  kodlanıp çalınacaktır.

Başarılar!



 //Arduino Referans Kaynak Kodu:

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 = 5;

const int ledPin1 = 4;

const int ledPin2 = 7;

 

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

}


//

Hiç yorum yok:

Yorum Gönder