5_4 Turn Knob Piano Tuner

Turn Knob Piano Tuner

Code

The code in the editor below is ready to run! Plug Code Lab Mini in to your computer's USB port with the cable and hit 'Upload Your Code!' to see what it does. Change something in the code, like a delay or pin number. Try to add something new to the program - it's yours to tinker with! You can always press the 'Restore' button to return the code to the working example.


/* Use the turn knob to set the 'key' of your four note piano*/ void setup(){ pinMode(A0,INPUT); //turn knob pinMode(2,OUTPUT); //speaker pinMode(4,INPUT_PULLUP); //button pinMode(5,INPUT_PULLUP); //button pinMode(6,INPUT_PULLUP); //button pinMode(7,INPUT_PULLUP); //button } void loop(){ //create a variable named 'lowNote' that is an integer (whole number, no decimals) int lowNote = analogRead(A0); //use the reading from the knob (0-1023) to determine what 'lowNote'is. if(digitalRead(4)==LOW){ //if button 4 is pressed... tone(2,lowNote); //play the hertz value that is equal to the 'lowNote' variable } else if(digitalRead(5)==LOW){ //if button 5 is pressed... tone(2,lowNote*2); //play DOUBLE the hertz value that is equal to lowNote } else if(digitalRead(6)==LOW){ //if button 6 is pressed... tone(2,lowNote*3); //play TRIPLE the hertz value equal to lowNote } else if(digitalRead(7)==LOW){ //if button 7 is pressed... tone(2,lowNote*4); //play QUADRUPLE the hertz value equal to lowNote } else{ //otherwise, if no buttons are pressed... noTone(2); //turn off the speaker } } // (c) 2023 Let's Start Coding. License: www.letsstartcoding.com/bsdlicense
 

Walkthrough Video

Watch the video for a line-by-line explanation of how the example program works. Then you'll be ready to make some changes of your own!

Challenges

Can you complete the challenges? Change the code in your code editor above. Upload your code to see the effect when you're finished. Complete a challenge? Check it off the list!