project 07 board

 

project 07 componenten

 

 

 

project 07 circuit

 

 

 

 

Project 7 Keyboard instrument blz 79.          terug naar de inleiding

Door het indrukken van een van de 4 knopjes produceert de Buzzer een toon.
Het getal van frequenties  van de noten staan in het array noten.
De functie tone() zet die getallen om in blokgolfjes met de frequentie van de noot.
 
 

 
// Het array "noten" in een regel declareren en initieren  
// met 4 getallen wat de frequenties zijn van de noten C, D, E en F 
int noten[4] = {262, 294, 330, 349}; 
 
void setup() {  
 
  Serial.begin(9600); 
 // Code als je het array in setup wil initieren 
 // noten[4] = 262, 294, 330, 349; 
 
 // Pin 8 wordt als argument in tone(); gebruikt. 
 // Je hoef pin 8 niet als outputpin te initieren. 
 pinMode(8, OUTPUT); 
   
} 
void loop() { 
   
//In "knopWaarde" komt de 10 bit waarde van de spanning over de 10K weerstand  
  
  int knopWaarde = analogRead(A0); 
   
  Serial.println(knopWaarde); 
 
  if (knopWaarde == 1023) {    
    //als knopWaarde == 1023 wordt de toon in cel "0" van het array via tone(); naar pin 8 gestuurd 
    tone(8, noten[0]); 
     
  } else if (knopWaarde >= 990 && knopWaarde <= 1010) {     
    //Met knopWaarde [990, 1010] wordt de toon in cel "1" via tone() naar pin 8 gestuurd 
    tone(8, noten[1]); 
     
  } else if (knopWaarde >= 505 && knopWaarde <= 515) {    
   //Met knopWaarde [505, 515] wordt de toon in cel "2" via tone() naar pin 8 gestuurd 
    tone(8, noten[2]); 
     
  } else if (knopWaarde >= 5 && knopWaarde <= 10) {    
   //Met knopWaarde [5, 10] wordt de toon in cel "3" via tone() naar pin 8 gestuurd 
    tone(8, noten[3]); 
     
  } else {    
    //Als knopWaarde buiten bovenstaande ranges valt wordt noTone() uitgevoerd 
    noTone(8); 
  } 
}