Beruflich Dokumente
Kultur Dokumente
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.
}