[아두이노] 내장 풀업 저항 사용하기
풀업 모드 디지털 입력 사용하기
INPUT_PULLUP을 이용한 pinMode() 함수 사용법에 대해서 알아 보겠습니다. 스위치가 닫히면 pin13에 연결된 내장 LED를 켜고, 스위치가 열린 상태이면 내장 LED를 끄도록 하겠습니다.
실험에 필요한 하드웨어는 아래와 같습니다.
- 아두이노 보드
- 스위치
스위치가 눌려지면 오른쪽 그림과 같이 내부 5V 전압은 스위치를 거쳐 그라운드와 연결되기 때문에 2번 입력핀은 LOW 상태가 됩니다. 스위치가 OPEN 상태이면 오른쪽 그림과 같이 5V 전압과 2번 입력핀이 연결되어 2번 입력핀이 HIGH 상태가 됩니다.
void setup() {
// 시리얼 모니터 연결용
Serial.begin(9600);
// 2번핀을 풀업저항 입력으로 세팅
pinMode(2, INPUT_PULLUP);
// 내부 LED 사용, 스위치가 눌려지면 LED ON, 열리면 LED OFF
pinMode(13, OUTPUT);
}
void loop() {
// 2번핀에 연결된 스위치 상태를 읽음
int sensorVal = digitalRead(2);
// 시리얼 모니터로 2번핀 상태를 출력
Serial.println(sensorVal);
// 풀다운 방식과는 다르게 스위치가 닫히면 0, 스위치가 오픈되면 1
if (sensorVal == HIGH) {
digitalWrite(13, LOW);
} else {
digitalWrite(13, HIGH);
}
}
끝.
댓글
댓글 쓰기