Last active
September 26, 2023 18:24
-
Star
(121)
You must be signed in to star a gist -
Fork
(39)
You must be signed in to fork a gist
-
-
Save eznj/4736535 to your computer and use it in GitHub Desktop.
Arduino Star Wars Song
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 = 8; | |
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(); | |
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(); | |
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); | |
} |
Thank you so much I have been learning Arduino for the past 4 days so I have been messing around only with LEDs. Now, with this I adapted it and made my Arduino version of Blue Bird. here is the gist for those interested: https://gist.github.com/Bryniac/0c03831108e087f7aff9148b11be803a
Thanks for sharing @Bryniac
Thank you
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thank you so much I have been learning Arduino for the past 4 days so I have been messing around only with LEDs. Now, with this I adapted it and made my Arduino version of Blue Bird. here is the gist for those interested:
https://gist.github.com/Bryniac/0c03831108e087f7aff9148b11be803a