Four Note Piano with LED Lights

Code

The code in the editor below is ready to run! Plug your Code Lab 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.


/* Create a 4 note piano where each of the 4 buttons plays a different tone and corresponds to an LED lighting up */ void setup(){ pinMode(8,INPUT_PULLUP);//button pinMode(9,INPUT_PULLUP);//button pinMode(10,INPUT_PULLUP);//button pinMode(11,INPUT_PULLUP);//button pinMode(2,OUTPUT); //LED pinMode(3,OUTPUT); //LED pinMode(4,OUTPUT); //LED pinMode(5,OUTPUT); //One color of the RGB LED pinMode(A5,OUTPUT); //speaker } void loop(){ if(digitalRead(8)==LOW){ //if button 2 is pressed tone(A5,500); //play a tone of 500 hertz on the speaker digitalWrite(2,HIGH); //turn on port A1 (one of the RGB LED colors) } else if(digitalRead(9)==LOW){ //otherwise if button 6 is pressed tone(A5,700); //play a tone of 700 hertz digitalWrite(3,HIGH); //turn on port A2 } else if(digitalRead(10)==LOW){ //otherwise if button 9 is pressed tone(A5,900); //play a tone of 900 hertz digitalWrite(4,HIGH); //turn on port A3 } else if(digitalRead(11)==LOW){ //otherwise if button 12 is pressed tone(A5,1100); //play a tone of 1100 hertz digitalWrite(5,HIGH); //turn on port A4 } else{ //otherwise if none of the if-else if statements are true noTone(A5); //stop any tones playing on the speaker //Turn off all the LED ports digitalWrite(2,LOW); digitalWrite(3,LOW); digitalWrite(4,LOW); digitalWrite(5,LOW); } } // (c) 2021 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!

Video Notes for Code Lab Users:

  • You will use the single color LEDs on Code Lab in ports 2, 3, and 4 instead of an RGB LED plugged into ports A1, A2, and A3 as the video says.

  • You will use one color of the RGB LED from port 5 instead of a single color LED on port A4 as the video says.

  • You will use button 8, 9, 10, and 11 instead of buttons on ports 2, 6, 9, and 12 as the video says.

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!

Concepts

These are the new code concepts covered in this example program. To become a great coder, read through these concepts to learn new vocabulary.

Quiz

If you're having trouble, try to run an experimental program or look at the example code to help you find the answer.

1. Which syntax ends the entire 'void loop' function?




2. Which syntax ends a single code command?