Skip to content
Snippets Groups Projects
Commit b5879c0b authored by Evan Jones's avatar Evan Jones
Browse files

Upload New File

parent 0ad56b0c
No related branches found
No related tags found
No related merge requests found
import grovepi
import time
# Grove Port Assignments
button = 3 # D3
led = 5 # D5 (optional for feedback)
# Setup
grovepi.pinMode(button, "INPUT")
grovepi.pinMode(led, "OUTPUT")
# Debounce settings
last_state = 1 # Assuming pull-up, so default is HIGH (not pressed)
last_debounce_time = 0
debounce_delay = 0.05 # 50 milliseconds
print("Listening for button presses...")
try:
while True:
current_time = time.time()
current_state = grovepi.digitalRead(button)
# Detect state change with debounce
if current_state != last_state:
last_debounce_time = current_time
if (current_time - last_debounce_time) > debounce_delay:
if current_state == 0 and last_state == 1:
print("Button PRESSED")
# Toggle LED for feedback
grovepi.digitalWrite(led, 1)
time.sleep(0.2)
grovepi.digitalWrite(led, 0)
elif current_state == 1 and last_state == 0:
print("Button RELEASED")
last_state = current_state
time.sleep(0.01)
except KeyboardInterrupt:
print("Button monitoring stopped.")
except IOError as e:
print(f"I/O Error: {e}")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment