NLT

Arduino muziek speler

Inleiding

Wij hebben ervoor gekozen om een muziekspeler te maken als project. Hij werkt met behulp van wat knopjes, een speaker en een zelfgeschreven code.

 

Wat hebben we gedaan?

We hebben het idee van een website waar je een code van Pirates of the Caribbean kon downloaden. Alleen toen wij deze code zagen dachten we: “Dit kan veel beter”. De code die je kan downloaden zorgt ervoor dat het liedje afspeelt, maar als hij afgelopen is start hij gewoon weer opnieuw. We hebben gekeken hoe de noten waren genoteerd en hebben dit systeem overzichtelijker gemaakt. We hebben er ook voor gezorgd dat het nummer gekoppeld staat aan een knop waardoor het wat meer gebruiker vriendelijk is.  Vervolgens hebben we met de zelfontworpen code een paar liedjes geschreven door de noten en de pauzes in te voeren.  Als laatst hebben we aan de vierde knop de instructie gegeven om alle nummers af te spelen achter elkaar als hij ingedrukt wordt.

 

Benodigdheden

  • Arduino Uno
  • Breadboard
  • Speaker
  • 220 Ohm weerstand
  • 4x 10K Ohm weerstand
  • 12 draadjes
  • 4 drukknoppen

 

De opstelling

 

De code

const int knop1 = 2;    
const int knop2 = 3;      
const int knop3 = 4;        
const int knop4 = 5;       
const int Speaker = 8;     
const int songspeed = 1.5;
int C4 = 261;
int D4 = 293;
int E4 = 329;
int F4 = 349;
int G4 = 391;
int AA4 = 440; 
int Bb4 = 466;
int B4 = 493;
int C5 = 523;
int D5 = 587;
int E5 = 659;
int F5 = 698;
int G5 = 784;
int AA5 = 880;
int Bb5 = 906;
int B = 617;
int E = 824;
int F = 873;
int Fs = 925;
int G = 980;
int AA2 = 1100;
int B2 = 1234;
int Ds = 777;
int achtste = 500/2;
int kwart = 1000/2;
int half = 2000/2;
int hele = 4000/2;
int ah = 6000/2;
int dubbel = 8000/2;
int dh = 10000/2;
int toestandknop1 = 0;   
int toestandknop2 = 0;     
int toestandknop3 = 0;     
int toestandknop4 = 0;     
void setup() {
  pinMode(knop1, INPUT);      
  pinMode(knop2, INPUT);      
  pinMode(knop3, INPUT);      
  pinMode(knop4, INPUT);      
  pinMode (Speaker, OUTPUT); 
}
void loop() {
  toestandknop1 = digitalRead(knop1);
  toestandknop2 = digitalRead(knop2);
  toestandknop3 = digitalRead(knop3);
  toestandknop4 = digitalRead(knop4);
  
if (toestandknop1 == HIGH) {
tone(Speaker,C4,150*2);
delay(200*2);
tone(Speaker,C4,50*2);
delay(achtste);
tone(Speaker,D4,kwart);
delay(kwart);
tone(Speaker,C4,kwart);
delay(kwart);
tone(Speaker,F4,kwart);
delay(kwart);
tone(Speaker,E4,half);
delay(half);
tone(Speaker,C4,150*2);
delay(200*2);
tone(Speaker,C4,50*2);
delay(50*2);
tone(Speaker,D4,kwart);
delay(kwart);
tone(Speaker,C4,kwart);
delay(kwart);
tone(Speaker,G4,kwart);
delay(kwart);
tone(Speaker,F4,half);
delay(half);
tone(Speaker,C4,150*2);
delay(200*2);
tone(Speaker,C4,50*2);
delay(50*2);
tone(Speaker,C5,kwart);
delay(kwart);
tone(Speaker,AA4,kwart);
delay(kwart);
tone(Speaker,F4,kwart);
delay(kwart);
tone(Speaker,E4,kwart);
delay(kwart);
tone(Speaker,D4,half);
delay(half);
tone(Speaker,Bb4,150*2);
delay(200*2);
tone(Speaker,Bb4,50*2);
delay(50*2);
tone(Speaker,AA4,kwart);
delay(kwart);
tone(Speaker,F4,kwart);
delay(kwart);
tone(Speaker,G4,kwart);
delay(kwart);
tone(Speaker,F4,half);
delay(half);
 }
 
else if (toestandknop2 == HIGH) {
tone(Speaker,AA4,achtste);
delay(achtste);
tone(Speaker,C5,achtste);
delay(achtste);
tone(Speaker,D5,achtste);
delay(kwart);
tone(Speaker,D5,achtste);
delay(kwart);
tone(Speaker,D5,achtste);
delay(achtste);
tone(Speaker,E5,achtste);
delay(achtste);
tone(Speaker,F5,achtste);
delay(kwart);
tone(Speaker,F5,achtste);
delay(kwart);
tone(Speaker,F5,achtste);
delay(achtste);
tone(Speaker,G5,achtste);
delay(achtste);
tone(Speaker,E5,achtste);
delay(kwart);
tone(Speaker,E5,achtste);
delay(kwart);
tone(Speaker,D5,achtste);
delay(achtste);
tone(Speaker,C5,achtste);
delay(550/2);
tone(Speaker,C5,achtste);
delay(achtste);
tone(Speaker,D5,achtste);
delay(half);
tone(Speaker,AA4,achtste);
delay(achtste);
tone(Speaker,C5,achtste);
delay(achtste);
tone(Speaker,D5,achtste);
delay(kwart);
tone(Speaker,D5,achtste);
delay(kwart);
tone(Speaker,D5,achtste);
delay(achtste);
tone(Speaker,E5,achtste);
delay(achtste);
tone(Speaker,F5,achtste);
delay(kwart);
tone(Speaker,F5,achtste);
delay(kwart);
tone(Speaker,F5,achtste);
delay(achtste);
tone(Speaker,G5,achtste);
delay(achtste);
tone(Speaker,E5,achtste);
delay(kwart);
tone(Speaker,E5,achtste);
delay(kwart);
tone(Speaker,D5,achtste);
delay(achtste);
tone(Speaker,C5,achtste);
delay(550/2);
tone(Speaker,D5,achtste);
delay(half);
tone(Speaker,AA4,achtste);
delay(achtste);
tone(Speaker,C5,achtste);
delay(achtste);
tone(Speaker,D5,achtste);
delay(kwart);
tone(Speaker,D5,achtste);
delay(kwart);
tone(Speaker,D5,achtste);
delay(achtste);
tone(Speaker,F5,achtste);
delay(achtste);
tone(Speaker,G5,achtste);
delay(kwart);
tone(Speaker,G5,achtste);
delay(kwart);
tone(Speaker,G5,achtste);
delay(achtste);
tone(Speaker,AA5,achtste);
delay(achtste);
tone(Speaker,Bb5,achtste);
delay(kwart);
tone(Speaker,Bb5,achtste);
delay(kwart);
tone(Speaker,AA5,achtste);
delay(achtste);
tone(Speaker,G5,achtste);
delay(550/2);
tone(Speaker,AA5,achtste);
delay(achtste);
tone(Speaker,D5,achtste);
delay(half);
tone(Speaker,D5,achtste);
delay(achtste);
tone(Speaker,E5,achtste);
delay(achtste);
tone(Speaker,F5,achtste);
delay(kwart);
tone(Speaker,F5,achtste);
delay(kwart);
tone(Speaker,G5,achtste);
delay(kwart);
tone(Speaker,AA5,achtste);
delay(achtste);
tone(Speaker,D5,achtste);
delay(half);
tone(Speaker,D5,achtste);
delay(achtste);
tone(Speaker,F5,achtste);
delay(achtste);
tone(Speaker,E5,achtste);
delay(kwart);
tone(Speaker,E5,achtste);
delay(kwart);
tone(Speaker,D5,hele);
delay(achtste);
tone(Speaker,C5,hele);
delay(achtste);
tone(Speaker,D5,half);
delay(kwart);
}
else if (toestandknop3 == HIGH){
  tone(Speaker, B, hele);
  delay(kwart);
  tone(Speaker, E, half);
  delay(half); 
  tone(Speaker, G, half);
  delay(achtste);
  tone(Speaker, F,  kwart);
  delay(kwart);
  tone(Speaker, E, half);
  delay(half);
  tone(Speaker, B2, kwart);
  delay(kwart);
  tone(Speaker, AA2, hele);
  delay(half);
  tone(Speaker, Fs,hele);
  delay(half);
  
  tone(Speaker, E,  half);
  delay(kwart);
  tone(Speaker, F,  kwart);
  delay(kwart);
  tone(Speaker, Ds, hele);
  delay(half);
  tone(Speaker, F,  kwart);
  delay(half);
  tone(Speaker, B, hele);
  delay(kwart);
}
 else if (toestandknop4 == HIGH){
  tone(Speaker,C4,150*2);
delay(200*2);
tone(Speaker,C4,50*2);
delay(achtste);
tone(Speaker,D4,kwart);
delay(kwart);
tone(Speaker,C4,kwart);
delay(kwart);
tone(Speaker,F4,kwart);
delay(kwart);
tone(Speaker,E4,half);
delay(half);
tone(Speaker,C4,150*2);
delay(200*2);
tone(Speaker,C4,50*2);
delay(50*2);
tone(Speaker,D4,kwart);
delay(kwart);
tone(Speaker,C4,kwart);
delay(kwart);
tone(Speaker,G4,kwart);
delay(kwart);
tone(Speaker,F4,half);
delay(half);
tone(Speaker,C4,150*2);
delay(200*2);
tone(Speaker,C4,50*2);
delay(50*2);
tone(Speaker,C5,kwart);
delay(kwart);
tone(Speaker,AA4,kwart);
delay(kwart);
tone(Speaker,F4,kwart);
delay(kwart);
tone(Speaker,E4,kwart);
delay(kwart);
tone(Speaker,D4,half);
delay(half);
tone(Speaker,Bb4,150*2);
delay(200*2);
tone(Speaker,Bb4,50*2);
delay(50*2);
tone(Speaker,AA4,kwart);
delay(kwart);
tone(Speaker,F4,kwart);
delay(kwart);
tone(Speaker,G4,kwart);
delay(kwart);
tone(Speaker,F4,half);
delay(ah);
tone(Speaker,AA4,achtste);
delay(achtste);
tone(Speaker,C5,achtste);
delay(achtste);
tone(Speaker,D5,achtste);
delay(kwart);
tone(Speaker,D5,achtste);
delay(kwart);
tone(Speaker,D5,achtste);
delay(achtste);
tone(Speaker,E5,achtste);
delay(achtste);
tone(Speaker,F5,achtste);
delay(kwart);
tone(Speaker,F5,achtste);
delay(kwart);
tone(Speaker,F5,achtste);
delay(achtste);
tone(Speaker,G5,achtste);
delay(achtste);
tone(Speaker,E5,achtste);
delay(kwart);
tone(Speaker,E5,achtste);
delay(kwart);
tone(Speaker,D5,achtste);
delay(achtste);
tone(Speaker,C5,achtste);
delay(550/2);
tone(Speaker,C5,achtste);
delay(achtste);
tone(Speaker,D5,achtste);
delay(half);
tone(Speaker,AA4,achtste);
delay(achtste);
tone(Speaker,C5,achtste);
delay(achtste);
tone(Speaker,D5,achtste);
delay(kwart);
tone(Speaker,D5,achtste);
delay(kwart);
tone(Speaker,D5,achtste);
delay(achtste);
tone(Speaker,E5,achtste);
delay(achtste);
tone(Speaker,F5,achtste);
delay(kwart);
tone(Speaker,F5,achtste);
delay(kwart);
tone(Speaker,F5,achtste);
delay(achtste);
tone(Speaker,G5,achtste);
delay(achtste);
tone(Speaker,E5,achtste);
delay(kwart);
tone(Speaker,E5,achtste);
delay(kwart);
tone(Speaker,D5,achtste);
delay(achtste);
tone(Speaker,C5,achtste);
delay(550/2);
tone(Speaker,D5,achtste);
delay(half);
tone(Speaker,AA4,achtste);
delay(achtste);
tone(Speaker,C5,achtste);
delay(achtste);
tone(Speaker,D5,achtste);
delay(kwart);
tone(Speaker,D5,achtste);
delay(kwart);
tone(Speaker,D5,achtste);
delay(achtste);
tone(Speaker,F5,achtste);
delay(achtste);
tone(Speaker,G5,achtste);
delay(kwart);
tone(Speaker,G5,achtste);
delay(kwart);
tone(Speaker,G5,achtste);
delay(achtste);
tone(Speaker,AA5,achtste);
delay(achtste);
tone(Speaker,Bb5,achtste);
delay(kwart);
tone(Speaker,Bb5,achtste);
delay(kwart);
tone(Speaker,AA5,achtste);
delay(achtste);
tone(Speaker,G5,achtste);
delay(550/2);
tone(Speaker,AA5,achtste);
delay(achtste);
tone(Speaker,D5,achtste);
delay(half);
tone(Speaker,D5,achtste);
delay(achtste);
tone(Speaker,E5,achtste);
delay(achtste);
tone(Speaker,F5,achtste);
delay(kwart);
tone(Speaker,F5,achtste);
delay(kwart);
tone(Speaker,G5,achtste);
delay(kwart);
tone(Speaker,AA5,achtste);
delay(achtste);
tone(Speaker,D5,achtste);
delay(half);
tone(Speaker,D5,achtste);
delay(achtste);
tone(Speaker,F5,achtste);
delay(achtste);
tone(Speaker,E5,achtste);
delay(kwart);
tone(Speaker,E5,achtste);
delay(kwart);
tone(Speaker,D5,hele);
delay(achtste);
tone(Speaker,C5,hele);
delay(achtste);
tone(Speaker,D5,half);
delay(kwart);
 
 }
  else {
    noTone(Speaker);     
}
}

 

Bronnen

https://github.com/xitangg/-Pirates-of-the-Caribbean-Theme-Song/blob/master/Pirates_of_the_Caribbean_-_Theme_Song.ino

 

Door: Chris Dressel & Livai Schönhage 

Leave a Reply