???? - 3. 누를 것이 필요해! (내부풀업 사용)
보통은 스위치에 풀다운 저항을 붙여서 많이 사용하는데, 여기서는 귀차니즘에 굴복하라!는 일일과제 달성을 위하여 내부 풀업 저항을 이용한 방법을 확인해보겠습니다. 이 경우, 출력값이 버튼을 누르지 않았을 때 HIGH, 눌렀을 경우에 LOW로 들어오게 됩니다.
배선도
소스
void setup() { pinMode(4, INPUT_PULLUP); } void loop() { int buttonD4 = digitalRead(4); if (buttonD4 == LOW) { Serial.println("button pressed!"); } }
실행 결과
- 위 소스를 테스트해보면 위에서 말한대로 입력이 들어오는 것을 확인할 수 있다.
- 하지만 실사용의 경우에는 아래와 같이 previous 값 관리를 해야 버튼이 한번 눌릴 때 이벤트 처리가 여러번 되는 것을 방지할 수 있다.
void setup() { pinMode(4, INPUT_PULLUP); } int buttonD4Prev = HIGH; void loop() { int buttonD4 = digitalRead(4); if (buttonD4Prev == HIGH && buttonD4 == LOW) { Serial.println("button pressed!"); } buttonD4Prev = buttonD4; }
'1. 연구 모듈 > 비분류' 카테고리의 다른 글
아두이노에서 지자기 센서(GY-271) 사용하기 (0) | 2021.11.26 |
---|---|
아두이노에서 기울기 센서(MPU-6050) 사용하기 (0) | 2021.11.24 |
아두이노에서 포텐셔미터 사용하기 (0) | 2021.08.20 |
아두이노를 활용한 조이스틱 제작방법 개요 (0) | 2021.08.10 |
웹 프론트엔드 빌드 중, Node Sass does not yet support your current environment 에러 원인 (0) | 2021.03.15 |