CCCPaste

Debounced Pushbutton rev_01

/********* Pleasedontcode.com **********

	Pleasedontcode thanks you for automatic code generation! Enjoy your code!

	- Terms and Conditions:
	You have a non-exclusive, revocable, worldwide, royalty-free license
	for personal and commercial use. Attribution is optional; modifications
	are allowed, but you're responsible for code maintenance. We're not
	liable for any loss or damage. For full terms,
	please visit pleasedontcode.com/termsandconditions.

	- Project: Debounced Pushbutton
	- Source Code NOT compiled for: Arduino Opta Lite
	- Source Code created on: 2025-10-06 21:19:22

********* Pleasedontcode.com **********/

/****** SYSTEM REQUIREMENTS *****/
/****** SYSTEM REQUIREMENT 1 *****/
	/* give me example of button */
/****** END SYSTEM REQUIREMENTS *****/


/* START CODE */

/****** DEFINITION OF LIBRARIES *****/

/****** FUNCTION PROTOTYPES *****/
void setup(void);
void loop(void);

const int buttonPin = 2; // Pushbutton connected to digital pin 2
const int ledPin = 13;   // On-board LED

int buttonState = HIGH;
int lastButtonState = HIGH;
unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 50;
bool ledState = false;

void setup(void)
{
	// Example: Pushbutton with internal pull-up resistor toggling the LED
	pinMode(buttonPin, INPUT_PULLUP);
	pinMode(ledPin, OUTPUT);
	digitalWrite(ledPin, LOW);
}

void loop(void)
{
	int reading = digitalRead(buttonPin);

	if (reading != lastButtonState)
	{
		lastDebounceTime = millis();
	}

	if ((millis() - lastDebounceTime) > debounceDelay)
	{
		if (reading != buttonState)
		{
			buttonState = reading;
			if (buttonState == LOW)
			{
				ledState = !ledState;
				digitalWrite(ledPin, ledState ? HIGH : LOW);
			}
		}
	}

	lastButtonState = reading;
}

/* END CODE */