How To Use Button To Start/stop The Loop | Arduino FAQs

  • TUTORIALS
  • HARDWARE & TOOLS
  • REFERENCES
  • FAQs
  • ABOUT US
Home FAQs How to use button to start/stop the loop

How can I start the loop if a button is pressed, stop the loop if the button is pressed again in Arduino? This process is repeated forever.

Answer

Let's see and compare the code WITHOUT and WITH the start/stop button.

Arduino Code WITHOUT the Start/Stop Button.

void setup() { /******************* * your setup code *******************/ } void loop() { /****************** * your loop code ******************/ }

Arduino Code WITH the Start/Stop Button.

#include <ezButton.h> #define LOOP_STATE_STOPPED 0 #define LOOP_STATE_STARTED 1 ezButton button(7); // create ezButton object that attach to pin 7; int loopState = LOOP_STATE_STOPPED; void setup() { /******************* * your setup code *******************/ button.setDebounceTime(50); // set debounce time to 50 milliseconds } void loop() { button.loop(); // MUST call the loop() function first if (button.isPressed()) { if (loopState == LOOP_STATE_STOPPED) loopState = LOOP_STATE_STARTED; else // if(loopState == LOOP_STATE_STARTED) loopState = LOOP_STATE_STOPPED; } if (loopState == LOOP_STATE_STARTED) { /****************** * your loop code ******************/ } }

The wiring diagram for above code:

How to use button to start/stop program

This image is created using Fritzing. Click to enlarge image

If you want to use a button to start the program only when the button is pressed the first time, see Arduino - using a button to start the program

※ NOTE THAT:

  • In this case, we SHOULD debounce the button. If not, the code may not work as expected.
  • The above code uses the ezButton library, you can see how to install the library

Hardware for above code

1 × Arduino UNO Buy on Amazon
1 × USB 2.0 cable type A/B Buy on Amazon
1 × Button Buy on Amazon
1 × Breadboard Buy on Amazon
1 × Jumper Wires Buy on Amazon
Disclosure: Some links in this section are Amazon affiliate links. If you make a purchase through these links, we may earn a commission at no extra cost to you.Additionally, some links direct to products from our own brand, DIYables .

The Best Arduino Starter Kit

  • See the best Arduino kit for beginner

See Also

  • How to know value of resistor
  • fatal error: library.h: No such file or directory
  • How to know I2C address of sensor/device
  • DS3231 vs DS1307
  • Arduino - How to detect button press event

※ OUR MESSAGES

  • We are AVAILABLE for HIRE. See how to hire us to build your project
  • If this tutorial is useful for you, please give us motivation to make more tutorials.
DISCLOSURE ArduinoGetStarted.com is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.com, Amazon.it, Amazon.fr, Amazon.co.uk, Amazon.ca, Amazon.de, Amazon.es, Amazon.nl, Amazon.pl and Amazon.se Copyright © 2018 - 2025 ArduinoGetStarted.com. All rights reserved. Terms and Conditions | Privacy Policy Email: [email protected] ×

Tag » Arduino Pause Loop Until Button Pressed