2입력 - 1출력 형태 회로
AND / OR / NAND / NOR / XOR / XNOR 게이트
void setup() {
pinMode(13, OUTPUT);
pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
}
void loop() {
int btn1 = !digitalRead(2);
int btn2 = !digitalRead(3);
if ( (btn1 && btn2) == HIGH) {
digitalWrite(13, HIGH);
}
else {
digitalWrite(13, LOW);
}
}
pinMode(13, OUTPUT); → 13번 핀을 출력 모드로 설정하여 LED를 제어함.
pinMode(2, INPUT_PULLUP); 및 pinMode(3, INPUT_PULLUP); → 2번과 3번 핀을 내부 풀업 저항이 설정된 입력 모드로 설정.
버튼이 눌리지 않으면 HIGH, 눌리면 LOW가 입력됨.
btn1 = !digitalRead(2);
2번 핀의 입력값을 반전하여 btn1에 저장 → 버튼이 눌렸을 때 HIGH가 됨.
btn2 = !digitalRead(3);
3번 핀도 마찬가지로 버튼이 눌리면 HIGH.
if ((btn1 && btn2) == HIGH)
두 버튼이 모두 눌렸을 때 조건이 참이 되며:
digitalWrite(13, HIGH); → LED가 켜짐
그렇지 않으면:
digitalWrite(13, LOW); → LED가 꺼짐
전체적으로, 두 개의 버튼을 동시에 눌러야만 LED가 켜지는 AND 게이트 동작을 구현한 코드임.
Copyright ⓒ Tech79 All right reserved