페이지

2026년 4월 22일 수요일

5.3.1. 불 대수를 이용한 3-입력 논리식 간소화 체험





CODE 5.1 | 불 대수를 이용한 간소화 실습 – 간소화 전
01void setup() {
02  pinMode(13, OUTPUT);
03  pinMode(2, INPUT_PULLUP); // X 입력
04  pinMode(3, INPUT_PULLUP); // Y 입력
05  pinMode(4, INPUT_PULLUP); // Z 입력
06}
07 
08void loop() {
09  // 버튼이 눌린 상태(LOW)를 논리 참(1)으로 정의한다.
10  int X = (digitalRead(2) == LOW);
11  int Y = (digitalRead(3) == LOW);
12  int Z = (digitalRead(4) == LOW);
13  // [간소화 전 논리식: F = XYZ + !XY + XY!Z]
14  if ((X && Y && Z) || (!X && Y) || (X && Y && !Z)) {
15    digitalWrite(13, HIGH);
16  } else {
17    digitalWrite(13, LOW);
18  }
19}



CODE 5.2 | 불 대수를 이용한 간소화 실습 – 간소화 후
01void setup() {
02  pinMode(13, OUTPUT);
03  pinMode(3, INPUT_PULLUP); // Y 입력만 사용
04}
05 
06void loop() {
07  // [간소화 후 논리식: F = Y]
08  if (digitalRead(3) == LOW) {
09    digitalWrite(13, HIGH);
10  } else {
11    digitalWrite(13, LOW);
12  }
13}



 

댓글 없음:

댓글 쓰기