8_9 Magic Motor Control

Magic Motor Control

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 Sensor Trio 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 Sensor Trio Add-On yet, visit Chapter 0 to watch a video showing you how to do that.


/* Touch-free Motor Control: Each time the sound trigger 'hears' a loud noise, increase the speed of the motor. Cast a shadow over the light sensor to decrease the speed of the motor Hint: a quick whistle or snap will also work with the sound trigger */ int speed = 50; //create a variable named speed that is an integer (whole number) with starting value of 50 so the motor is buzzing to begin with void setup() { pinMode(A2,INPUT); //light sensor pinMode(A3,INPUT); //sound trigger pinMode(3,OUTPUT); //Motor } void loop() { if(analogRead(A3) > 600){ //if the sound reading is greater than 600 speed++; //increase the value of speed by 1 delay(5); //Pause for 1/20th of a second so one clap doesn't count twice } if(analogRead(A2) < 10){ //if a shadow passes over the light sensor speed--; //reduce the speed variable by 1 delay(50); //pause long enough for you to move your hand if you are casting a shadow on the light sensor. } analogWrite(3,speed); //use the variable as the analogWrite strength (0 to 256) of the motor if(speed == 255 || speed < 50){ //if speed equals 255 (max analogWrite value) OR is less than 50 ... digitalWrite(3,LOW); //Turn off the motor speed = 50; //reset the variable to a low value } } /*Note: To test if this is working, lightly tap the sound trigger. If your light is constantly flicking on and off without a clap, raise the number in the first 'if' statement If you can't get your light to change even when you clap or snap, lower the number in the first 'if' statement */ // (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!