프롬프트
두 개의 버튼 값을 읽어서 출력하는 마이크로파이썬 코드 만들기
- PULLUP과 PULLDOWN 구분
응답
아래는 두 개의 버튼을 사용하는 프로그램으로, 주어진 조건에 따라 pinno
모듈을 사용하여 GPIO 핀을 설정하고, 버튼 상태를 확인하는 코드를 작성했습니다.
코드 설명:
핀 설정:
BUTTON_1_PIN
(핀 7)은 풀업 저항(PULLUP)을 사용하여 설정됩니다. 기본적으로HIGH
상태를 유지하며, 버튼을 누르면LOW
상태로 변합니다.BUTTON_2_PIN
(핀 8)은 풀다운 저항(PULLDOWN)을 사용하여 설정됩니다. 기본적으로LOW
상태를 유지하며, 버튼을 누르면HIGH
상태로 변합니다.
시작 메시지:
print("버튼1과 2를 눌러 보셔요")
는 프로그램이 시작할 때 출력되어 사용자에게 버튼을 눌러볼 것을 안내합니다.
이전 상태 저장:
prev_button1_state
와prev_button2_state
는 각각 버튼 1과 버튼 2의 이전 상태를 저장하는 변수입니다. 이를 통해 현재 버튼 상태와 비교하여 값이 변했는지 확인합니다.
상태 변화 감지:
button1.value()
와button2.value()
는 각각의 버튼 상태를 읽습니다.- 현재 상태와 이전 상태를 비교해 값이 변했을 때 그 값을 출력하며, 상태가 바뀌면 이전 상태를 갱신합니다.
딜레이 추가:
time.sleep_ms(5)
는 프로그램 실행을 5밀리초 동안 멈추게 하여 반복적으로 버튼 상태를 너무 자주 확인하지 않도록 하고, CPU 점유율을 줄입니다.
이 프로그램은 두 버튼의 상태를 지속적으로 모니터링하고, 상태가 바뀔 때마다 변경된 값을 출력합니다.