페이지

2026년 4월 22일 수요일

5.3.2. 카르노 맵을 이용한 2-입력 논리식 간소화 체험





CODE 5.3 | 카르노 맵을 이용한 간소화 실습 – 간소화 전
01void setup() {
02  pinMode(13, OUTPUT);
03  pinMode(2, INPUT_PULLUP); // A 입력
04  pinMode(3, INPUT_PULLUP); // B 입력
05}
06 
07void loop() {
08  // 버튼을 누른 상태(LOW)를 논리 참(true)으로 정의한다.
09  int A = (digitalRead(2) == LOW);
10  int B = (digitalRead(3) == LOW);
11  // [간소화 전 논리식: F = !A!B + !AB + A!B]
12  if ((!A && !B) || (!A && B) || (A && !B)) {
13    digitalWrite(13, HIGH);
14  } else {
15    digitalWrite(13, LOW);
16  }
17}



CODE 5.4 | 카르노 맵을 이용한 간소화 실습 – 간소화 후
01void setup() {
02  pinMode(13, OUTPUT);
03  pinMode(2, INPUT_PULLUP); // A 입력
04  pinMode(3, INPUT_PULLUP); // B 입력
05}
06 
07void loop() {
08  int A = (digitalRead(2) == LOW);
09  int B = (digitalRead(3) == LOW);
10  // [간소화 후 논리식: F = !A + !B]
11  if (!A || !B) {
12    digitalWrite(13, HIGH);
13  } else {
14    digitalWrite(13, LOW);
15  }
16}



 

댓글 없음:

댓글 쓰기