7_11 Magic 8 Ball

Magic 8 Ball

Code

The code in the editor below is ready to run! Plug Code Lab Mini in to your computer's USB port, make sure that your Code Lab Mini Screen Add-On (sold separately) is attached, 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.

If you haven't set up your Code Lab Mini Screen Add-On yet, visit Chapter 0 to watch a video showing you how to do that.


//Magic 8 ball on the Code Lab Mini screen. Press button 6 to see one of the 6 random responses. #include "CLMiniScreen.h" //A code library enables new functions to be used with the screen CLMiniScreen lcd; //the library name is followed by the 'name' you give the LCD screen. Here it is 'lcd' int eightball; //create a variable called 'eightball' that is an integer (whole number). It doesn't have any starting value void setup() { lcd.begin(); //.begin() 'sets up' the screen. pinMode(6,INPUT_PULLUP); //button } void loop() { lcd.setCursor(0,0); //Set the cursor on the screen in the upper-left corner (0 column, 0 row) lcd.print("Ready to roll!"); //Show the message 'ready to roll!' on the screen if(digitalRead(6)==LOW){ //if button 6 is pressed... eightball = random(1,7); //eightball will randomly be set to 1,2,3,4,5,or 6 lcd.clear(); //clear the LCD of any messages delay(1000); //wait 1000 milliseconds (1 second) with a blank screen if(eightball ==1){ //if the variable was randomly selected as 1... lcd.print("Definitely!"); //show 'definitely' on the screen } else if(eightball == 2){ //if eightball = 2... lcd.print("Good Chance"); //show the 'Good Chance' message } else if(eightball == 3){ //continue the pattern for each random value 'eightball' might be lcd.print("It could happen"); } else if(eightball == 4){ lcd.print("It's a toss-up"); } else if(eightball == 5){ lcd.print("Not Looking Good :/"); } else if(eightball == 6){ lcd.print("No Way"); } delay(3000); //wait 3000 milliseconds (3 seconds) with the message displayed on the screen lcd.clear(); //clear the screen and restart the loop } } // (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

Coming Soon!