Note how button D0 uses Pull.UP while the remaining D1 and D2 buttons use Pull.DOWN logic.
# SPDX-FileCopyrightText: 2022 Kattni Rembor for Adafruit Industries # SPDX-License-Identifier: MIT """ CircuitPython Multiple Button Digital Input Example - Handling multiple buttons with simple logic. """ import time import board import digitalio # LED setup led = digitalio.DigitalInOut(board.LED) led.direction = digitalio.Direction.OUTPUT # Button setup button0 = digitalio.DigitalInOut(board.D0) button0.switch_to_input(pull=digitalio.Pull.UP) button1 = digitalio.DigitalInOut(board.D1) button1.switch_to_input(pull=digitalio.Pull.DOWN) button2 = digitalio.DigitalInOut(board.D2) button2.switch_to_input(pull=digitalio.Pull.DOWN) while True: # Check Button D0 if not button0.value: # button0 is active (Pull.UP, active LOW) print("Button D0 pressed") led.value = True # Check Button D1 elif button1.value: # button1 is active (Pull.DOWN, active HIGH) print("Button D1 pressed") led.value = True # Check Button D2 elif button2.value: # button2 is active (Pull.DOWN, active HIGH) print("Button D2 pressed") led.value = True else: led.value = False # No buttons are pressed, turn off the LED # Small delay to debounce buttons and reduce serial output spam time.sleep(0.1)
Page last edited January 14, 2025
Text editor powered by tinymce.