Buttons Raise and Lower LED Light Brightness

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.


/* Pressing one button raises the brightness of and LED, pressing another button lowers the brightness */ int brightness = 0; //create a variable named 'brightness' that is an integer (whole number) and starting value of 0 void setup(){ pinMode(3,OUTPUT); //LED. analogWrite() function works on LEDs 3,5,and 6 and lets you send values from 0 to 255 pinMode(8,INPUT_PULLUP); //button 1 (raises brightness) pinMode(11,INPUT_PULLUP); //button 2 (lowers brightness) } void loop(){ analogWrite(3,brightness); //use the brightness variable to determine how bright the LED is (0-255) if(digitalRead(11)==LOW){ //If button 11 is pressed brightness++; //increase brightness variable by 1 delay(20); //a delay means you can see the fade. Without it, the light value jumps too quickly } if(digitalRead(8)==LOW){ //If button 8 is pressed brightness--; //lower the brightness on the LED delay(20); //delay allows you to see the fade. // -- is shorthand for 'subtract one from the variable' } } // (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:

  • Your buttons are connected to ports 8 and 11 instead of ports 2 and 6.

  • Your LED light is connected to port 3, not port 11 as the video says.

Challenges

Can you complete the challenge? 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?