1입력 - 1출력 형태 회로(아두이노 내부 PULL UP 저항 이용)
INPUT_PULLUP 사용, 버튼쪽 저항 없앰
void setup() {
pinMode(13, OUTPUT);
pinMode(8, INPUT_PULLUP);
}
void loop() {
int value = !(digitalRead(8));
if (value == HIGH) {
digitalWrite(13, HIGH);
}
else {
digitalWrite(13, LOW);
}
}
pinMode(13, OUTPUT); → 13번 핀을 출력 모드로 설정, LED 제어용.
pinMode(8, INPUT_PULLUP); → 8번 핀을 내부 풀업 저항이 활성화된 입력 모드로 설정.
버튼이 눌리지 않았을 때 HIGH, 눌렸을 때 GND에 연결되어 LOW 신호가 입력됨.
digitalRead(8) → 버튼 입력 상태를 읽고,
!(digitalRead(8)) → 입력값을 반전하여 변수 value에 저장.
즉, 버튼을 누르면 value는 HIGH, 누르지 않으면 LOW.
조건문:
value == HIGH → 버튼이 눌렸을 때:
digitalWrite(13, HIGH); → LED 켜짐.
else → 버튼이 눌리지 않았을 때:
digitalWrite(13, LOW); → LED 꺼짐.
결과적으로, 버튼이 눌릴 때만 LED가 켜지는 동작을 수행함.
(버튼과 내부 풀업 저항을 활용한 버퍼 게이트 동작)
Copyright ⓒ Tech79 All right reserved