6_2 Random Tone Latch

Random Tone Latch

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.


/* Create a random tone generator on the speaker that can 'latch' on and off with the press of a button. */ int pressCount = 0; //An integer (whole number) variable to keep track of how many times the button is pressed void setup(){ pinMode(2,OUTPUT); //speaker pinMode(4,INPUT_PULLUP); //button } void loop(){ if(digitalRead(4)==LOW){ //if button 4 is pressed pressCount++; //++ is a way to add one to a variable. Now pressCount = its former value + 1 delay(250); //a delay allows you to release your finger from the button without counting multiple presses } if(pressCount == 1){ //if pressCount equals 1.. tone(2,random(100,1000)); //play a tone between 100 and 999 on the speaker delay(70); //wait 70 milliseconds (0.7 seconds) with the tone playing } else{ //if pressCount is anything other than 1... noTone(2); //stop the tone from playing on the speaker pressCount = 0; //reset the count to 0 before the loop starts again } } // (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!