Sie sind auf Seite 1von 4

constintbuzzerPin=9//Thisdetermineswhichpinthebuzzerwillcomeoutof.

constintsongLength=300//Thisdecideshowlongthesongwillbe.

charnotes[]="fffffffgaagfgfgdfffffffgaaggfbffccaabffccaabffcaaggffffffgaaggfggdffffff
fgaaggfgbffcaabbfffccaabfffcaacccccccccfcffffffgafffffaeedffffffgaffffaeedCCCBaBag
ggggBaagCCCBaBagBBBBCfffffgafffaeedffffgafffaeedCCCBaBagggggBaagfggfgggfdfafff
"//Theseareallthenotesinoursong.Thespacesarerests.

intbeats[]=
{2,1,1,2,1,1,2,1,1,2,4,1,2,2,2,1,1,1,2,4,1,1,2,1,1,2,1,1,2,4,1,2,2,1,2,3,2,2,4,1,1,2,4,2,2,4,1,1,2,4,
2,2,4,2,2,4,7,2,10,2,2,1,1,2,1,1,2,4,1,2,2,1,1,1,2,2,4,1,1,2,1,1,2,1,1,2,4,1,2,2,2,2,1,2,2,2,4,2,2,3,
1,1,1,2,3,1,2,2,4,2,1,2,2,2,2,4,1,1,1,1,2,2,2,1,1,2,2,2,1,1,1,1,1,1,2,2,6,1,1,1,1,2,2,2,2,2,2,1,1,1,1,
1,1,2,2,6,1,1,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,4,4,2,2,2,1,1,2,1,
1,2,2,6,2,2,2,2,2,2,2,2,1,1,2,2,2,2,6,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,3,1,2,1,1,2,2,
3,1,8,1,1,2,2,1,1}//Theseareallthelengthsofthenotesinoursong.

inttempo=150//Thisregulatesthetempoofoursong.
constintLEDpinb=2//ThischooseswhichpintheLED'sarecomingoutof.
constintLEDpinc=3
constintLEDpind=4
constintLEDpine=5
constintLEDpinf=6
constintLEDping=7
constintLEDpina=8
constintLEDpinB=10
constintLEDpinC=11

voidsetup()//VoidSetupisanythingthathappensonce.
{
pinMode(buzzerPin,OUTPUT)//Thissetsuptheoutputsofthepins.
pinMode(LEDpinb,OUTPUT)
pinMode(LEDpinc,OUTPUT)
pinMode(LEDpind,OUTPUT)
pinMode(LEDpine,OUTPUT)
pinMode(LEDpinf,OUTPUT)
pinMode(LEDping,OUTPUT)
pinMode(LEDpina,OUTPUT)

pinMode(LEDpinB,OUTPUT)
pinMode(LEDpinC,OUTPUT)
}

voidloop()//
{
inti,duration

for(i=0i<songLengthi++)//stepthroughthesongarrays
{
duration=beats[i]*tempo//lengthofnote/restinms

if(notes[i]=='')//isthisarest?
{
delay(duration)//thenpauseforamoment
}
elseif(notes[i]=='b')//otherwise,playthenote
{
tone(buzzerPin,frequency(notes[i]),duration)
digitalWrite(LEDpinb,HIGH)
delay(duration)//waitfortonetofinish
digitalWrite(LEDpinb,LOW)
}
elseif(notes[i]=='c')//otherwise,playthenote
{
tone(buzzerPin,frequency(notes[i]),duration)
digitalWrite(LEDpinc,HIGH)
delay(duration)//waitfortonetofinish
digitalWrite(LEDpinc,LOW)
}
elseif(notes[i]=='d')//otherwise,playthenote
{
tone(buzzerPin,frequency(notes[i]),duration)
digitalWrite(LEDpind,HIGH)
delay(duration)//waitfortonetofinish
digitalWrite(LEDpind,LOW)
}
elseif(notes[i]=='e')//otherwise,playthenote
{
tone(buzzerPin,frequency(notes[i]),duration)
digitalWrite(LEDpine,HIGH)
delay(duration)//waitfortonetofinish
digitalWrite(LEDpine,LOW)

}
elseif(notes[i]=='f')//otherwise,playthenote
{
tone(buzzerPin,frequency(notes[i]),duration)
digitalWrite(LEDpinf,HIGH)
delay(duration)//waitfortonetofinish
digitalWrite(LEDpinf,LOW)
}
elseif(notes[i]=='g')//otherwise,playthenote
{
tone(buzzerPin,frequency(notes[i]),duration)
digitalWrite(LEDping,HIGH)
delay(duration)//waitfortonetofinish
digitalWrite(LEDping,LOW)
}
elseif(notes[i]=='a')//otherwise,playthenote
{
tone(buzzerPin,frequency(notes[i]),duration)
digitalWrite(LEDpina,HIGH)
delay(duration)//waitfortonetofinish
digitalWrite(LEDpina,LOW)
}
elseif(notes[i]=='B')//otherwise,playthenote
{
tone(buzzerPin,frequency(notes[i]),duration)
digitalWrite(LEDpinB,HIGH)
delay(duration)//waitfortonetofinish
digitalWrite(LEDpinB,LOW)
}
elseif(notes[i]=='C')//otherwise,playthenote
{
tone(buzzerPin,frequency(notes[i]),duration)
digitalWrite(LEDpinC,HIGH)
delay(duration)//waitfortonetofinish
digitalWrite(LEDpinC,LOW)
}
delay(tempo/10)//briefpausebetweennotes
}

while(true){}

intfrequency(charnote)
{

inti
constintnumNotes=11//numberofnoteswe'restoring

charnames[]={'b','c','d','e','f','g','a','B','C'}//Thesearethenamesofthenotesinthe
song.
intfrequencies[]={233,261,293,329,349,392,440,466,523}//Thesearethefrequencies
ofthenotesinthesong.

for(i=0i<numNotesi++)//Stepthroughthenotes
{
if(names[i]==note)//Isthistheone?
{
return(frequencies[i])//Yes!Returnthefrequency
}
}
return(0)//Welookedthrougheverythinganddidn'tfindit,
//butwestillneedtoreturnavalue,soreturn0.
}

Das könnte Ihnen auch gefallen