Дарт Вейдер: программка играет имперский марш из Звёздных войн.
/*
Plays Imperial March on speaker attached to the digital pin
The frequencies and delays are taken from:
http://wiki.tiprocessors.com/index.php/Playing_The_Imperial_March
*/
const int speakerPin = 10; // Spealer is attached to the digital pin 10
// frequencies
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;
// Beeps <ton> frequency for <time> miliseconds with a small pause to separate
void beep(int ton, int time)
{
tone(10, ton, time);
delay(time + 20);
}
// Runs once on Arduino start
void setup()
{
// shut off the speaker
noTone(10);
}
// Runs constantly in a loop
void loop()
{
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(150);
//end of first bit
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(150);
//end of second bit...
beep(aH, 500);
beep(a, 300);
beep(a, 150);
beep(aH, 400);
beep(gSH, 200);
beep(gH, 200);
beep(fSH, 125);
beep(fH, 125);
beep(fSH, 250);
delay(250);
beep(aS, 250);
beep(dSH, 400);
beep(dH, 200);
beep(cSH, 200);
beep(cH, 125);
beep(b, 125);
beep(cH, 250);
delay(250);
beep(f, 125);
beep(gS, 500);
beep(f, 375);
beep(a, 125);
beep(cH, 500);
beep(a, 375);
beep(cH, 125);
beep(eH, 650);
//end of third bit... (Though it doesn't play well)
//let's repeat it
beep(aH, 500);
beep(a, 300);
beep(a, 150);
beep(aH, 400);
beep(gSH, 200);
beep(gH, 200);
beep(fSH, 125);
beep(fH, 125);
beep(fSH, 250);
delay(250);
beep(aS, 250);
beep(dSH, 400);
beep(dH, 200);
beep(cSH, 200);
beep(cH, 125);
beep(b, 125);
beep(cH, 250);
delay(250);
beep(f, 250);
beep(gS, 500);
beep(f, 375);
beep(cH, 125);
beep(a, 500);
beep(f, 375);
beep(cH, 125);
beep(a, 650);
//end of the song
noTone(10);
delay(10000);
}
|