Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /********* 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: LED Toggle
- - Source Code NOT compiled for: Arduino Uno
- - Source Code created on: 2025-10-06 22:37:28
- ********* Pleasedontcode.com **********/
- /****** SYSTEM REQUIREMENTS *****/
- /****** SYSTEM REQUIREMENT 1 *****/
- /* give me example led */
- /****** END SYSTEM REQUIREMENTS *****/
- /* START CODE */
- /* BUTTON EXAMPLE: Toggle LED with push button on Arduino Uno
- * Button on pin 2 (INPUT_PULLUP). LED on pin 13 (built-in).
- * Debounced toggle on each press.
- */
- // Pin definitions
- const uint8_t BUTTON_PIN = 2; // Digital pin connected to the button (active LOW with INPUT_PULLUP)
- const uint8_t LED_PIN = 13; // Built-in LED on the Uno
- // Debounce logic
- bool lastButtonState = HIGH; // Previous reading from the button
- bool ledState = false; // Current LED state
- unsigned long lastDebounceTime = 0; // Timestamp of the last state change
- const unsigned long debounceDelay = 50; // Debounce delay in milliseconds
- void setup(void)
- {
- // Initialize button with internal pull-up and LED as output
- pinMode(BUTTON_PIN, INPUT_PULLUP);
- pinMode(LED_PIN, OUTPUT);
- digitalWrite(LED_PIN, LOW);
- // Read initial button state to set baseline
- lastButtonState = digitalRead(BUTTON_PIN);
- }
- void loop(void)
- {
- int currentReading = digitalRead(BUTTON_PIN);
- // If button state changed, reset the debouncing timer
- if (currentReading != lastButtonState)
- {
- lastDebounceTime = millis();
- }
- // If enough time has passed, consider the button state stabilized
- if ((millis() - lastDebounceTime) > debounceDelay)
- {
- // If the reading changed since last stable state, act on it
- if (currentReading != lastButtonState)
- {
- lastButtonState = currentReading;
- // Button is pressed when the reading is LOW (due to pull-up)
- if (currentReading == LOW)
- {
- ledState = !ledState; // Toggle LED state
- digitalWrite(LED_PIN, ledState ? HIGH : LOW);
- }
- }
- }
- }
- /* END CODE */
Advertisement
Add Comment
Please, Sign In to add comment