|
|
| 민선생의 전자공방 · 전기전자공학 첫걸음 드 모르간의 법칙과 불 대수 논리게이트로 만드는 라인트레이서 진리표 → 카르노 맵 → 불 대수 간소화 → 논리회로 마이크로프로세서 이전 시대의 하드웨어 제어 이야기 |
📖 문학 속의 대수 — 42년 전 국어 교과서에서 만난 한 문장
학창 시절 국어 교과서에서 읽었던 한 편의 글이 있습니다.
정확한 제목이나 저자는 지금은 확실하게 기억하지 못합니다. 양주동 박사님의 글이었던 것으로 기억하고 있지만, 42년 전의 기억이라 정확하지 않을 수도 있습니다.
그 글에서 문학을 전공한 학자가 수학, 특히 대수(代數)를 바라보는 표현이 어린 시절의 제게는 조금 낯설었습니다.
그때는 그 글의 의미를 제대로 이해하지 못했습니다.
그런데 나이가 들어 전자공학을 공부하다 보니, 그때 읽었던 내용이 조금씩 다르게 다가옵니다.
저는 지금도 수학을 생각하면,
“수학은 자연과 세상의 복잡한 관계와 법칙을 아주 간결하게 표현하는 도구가 아닐까?”
하는 생각을 합니다.
산수(算數)가 자질구레한 계산의 숲이라면, 대수(代數)는 그 숲을 내려다보는 산봉우리와 같습니다.
대수는 구체적인 수의 사슬에서 벗어나 x, y라는 미지의 기호 속에 세상만사의 법칙과 관계를 담아내는 은유(Metaphor)이자 세상을 표현하는 절제된 시(詩) 와 같이 생각됩니다.
산술에서는 2, 3, 10, 100과 같은 구체적인 숫자를 다루지만, 대수에서는 그 숫자를 x와 y라는 기호로 대신하여 숫자 자체보다 그 사이의 관계와 법칙을 바라볼 수 있습니다.
그래서 대수는 단순한 계산이 아니라,
구체적인 숫자의 세계에서 벗어나
세상의 관계와 법칙을 기호와 식으로 표현하는 언어
라고 생각합니다.
그리고 한자로 代數라고 쓰는 것도 재미있습니다.
숫자를 대신하여 기호를 사용한다는 뜻처럼 느껴집니다.
특정한 숫자 하나를 계산하는 데서 벗어나, 숫자를 기호로 추상화함으로써 보다 일반적인 관계와 법칙을 단아하게 표현하는 식인 것입니다.
💡 Boolean Algebra — 디지털 시대의 대수
제가 전자공학을 공부하면서 만나게 된 Boolean Algebra(불 대수) 역시 이러한 생각의 연장선에 있습니다.
일반적인 대수가 여러 숫자와 기호를 이용하여 연속적인 관계와 법칙을 표현한다면,
불 대수는 단 두 개의 값,
0과 1
을 이용하여 디지털 세계의 논리를 표현합니다.
그리고 그 단순한 0과 1의 세계에서 AND, OR, NOT이라는 논리가 만들어지고, 논리회로가 만들어지며, 결국 오늘날의 컴퓨터와 디지털 시스템으로 이어집니다.
돌이켜보면 제가 전자공학과 디지털 논리를 좋아했던 것도 어쩌면 이런 수학적 사고방식과 관계가 있었는지도 모르겠습니다.
🖋️ 그리고 기억 속에 남은 또 하나의 이야기, 만년필
그 국어 교과서에는 수학에 관한 이야기와 함께 양주동박사님의 만년필에 대한 일화도 있었던 것으로 기억합니다.
당시에는 그저 책 속에 등장하는 이야기 하나로 읽었습니다.
하지만 이상하게도 그 이야기는 고등학생이었던 제 기억 속에 오래 남았습니다.
그리고 세월이 흘러 제가 기술사 시험에 합격했을 때, 아내가 제게 몽블랑 만년필을 선물해 주었습니다.
그 만년필은 제 인생에서 거의 유일한 사치품이자 소중한 보물이 되었습니다.
어느덧 26년이 지났습니다.
지금도 저는 중요한 결재를 직접 손으로 할 때면 그 만년필을 꺼내 사용합니다.
🌱 배움은 당장 이해되지 않아도 남는다
아마 교육이라는 것이 그런 것인지도 모르겠습니다.
학생 때는 별 관심 없이 읽었던 한 문장이 오랜 시간이 지난 뒤 문득 떠오르고,
그때는 이해하지 못했던 의미를 인생의 경험이 쌓인 뒤에야 조금씩 이해하게 됩니다.
공부에 큰 관심이 없었던 학생이라도 학창 시절 배운 무언가는 오랫동안 기억 속에 남아 있다가, 어느 순간 자신의 삶과 경험을 통해 새로운 의미를 갖게 되기도 합니다.
저는 그것이 인문학 교육의 힘이라고 생각합니다.
교육은 당장 시험을 잘 보기 위해서만 존재하는 것이 아니라,
한 사람의 마음과 생각 속에 씨앗 하나를 심어 놓는 일인지도 모르겠습니다.
42년 전 국어 교과서에서 읽었던 한 편의 글과 한 자루의 만년필에 대한 기억이,
전자공학을 공부하고, 지금은 학교에서 학생들을 바라보는 제 삶 속에 이렇게 다시 이어지고 있으니까요.
그리고 지금도 저는 학창시절 그리고 지금도 여젼히 잘 못하는 수학을 바라볼 때 생각합니다.
구체적인 계산을 넘어 관계를 보고,
관계를 넘어 그 안에 있는 법칙을 보는 것이라고..........
| 💡 불 대수 — 디지털 시대의 대수 |
수학에는 두 가지 대수가 있습니다.
우리가 학교에서 배우는 일반 대수(General Algebra)는 실수(實數)를 다루는 아날로그 세계의 수학입니다. x + y = z, ax² + bx + c = 0 같은 방정식이 그것입니다. 이 수학은 물리학·공학·경제학 등 연속적인 값을 다루는 모든 분야의 기초입니다.
그런데 컴퓨터와 디지털 회로의 세계는 다릅니다. 이 세계에는 단 두 가지 값만 존재합니다.
| 디지털 세계의 두 가지 값 0 (거짓, False, LOW, OFF) 또는 1 (참, True, HIGH, ON) 이 두 값만으로 세상 모든 정보를 표현하고 처리합니다! |
이 디지털 세계를 지배하는 수학이 바로 불 대수(Boolean Algebra)입니다.
| 일반 대수 (General Algebra) | 불 대수 (Boolean Algebra) |
| 실수 (0, 1, 2, 3 … ∞) | 0 과 1 만 존재 |
| 덧셈·뺄셈·곱셈·나눗셈 | AND · OR · NOT |
| 아날로그 회로·물리·경제학 | 디지털 회로·컴퓨터·마이크로프로세서 |
| 연속적인 값 | 0 또는 1 — 이산(離散)적인 값 |
| 예) 저항 2.5Ω, 전압 3.3V | 예) 스위치 ON(1) / OFF(0) |
| 💡 불 대수가 디지털 시대의 대수인 이유 1854년 조지 불(George Boole)이 논리를 수학으로 표현하는 방법을 발표했습니다. 100년 후 클로드 섀넌(Claude Shannon)이 불 대수로 디지털 회로를 설계할 수 있음을 증명했습니다. → 오늘날 모든 컴퓨터·스마트폰·마이크로프로세서의 논리 회로는 불 대수로 설계됩니다! |
| 🔣 불 대수의 기본 연산 — AND · OR · NOT |
불 대수의 기본 연산은 세 가지입니다. 이 세 가지 연산으로 세상 모든 디지털 논리를 표현할 수 있습니다.
| ① AND 연산 (논리곱) — 둘 다 참이어야 |
| AND 연산 A · B = Y 둘 다 1일 때만 출력이 1 |
| A | B | A · B (AND) | 예시 |
| 0 | 0 | 0 | 둘다OFF→OFF |
| 0 | 1 | 0 | 하나OFF→OFF |
| 1 | 0 | 0 | 하나OFF→OFF |
| 1 | 1 | 1 | 둘다ON→ON |
생활 예시: 자동차 시동 — 열쇠(A=1) AND 안전벨트(B=1) → 시동 가능(Y=1)
| ② OR 연산 (논리합) — 하나만 참이어도 |
| OR 연산 A + B = Y 하나라도 1이면 출력이 1 |
| A | B | A + B (OR) | 예시 |
| 0 | 0 | 0 | 둘다OFF→OFF |
| 0 | 1 | 1 | 하나ON→ON |
| 1 | 0 | 1 | 하나ON→ON |
| 1 | 1 | 1 | 둘다ON→ON |
생활 예시: 현관 조명 — 위층 스위치(A=1) OR 아래층 스위치(B=1) → 불 켜짐(Y=1)
| ③ NOT 연산 (논리 부정) — 반대로! |
| NOT 연산 Ā = Y 0은 1로, 1은 0으로 — 무조건 반전! |
| A | Ā (NOT A) | 예시 |
| 0 | 1 | OFF → ON |
| 1 | 0 | ON → OFF |
생활 예시: 야간 자동 조명 — 밝음(A=1) → NOT → 불 꺼짐(Y=0), 어둠(A=0) → NOT → 불 켜짐(Y=1)
| ⚖️ 드 모르간의 법칙 (De Morgan's Law) |
드 모르간의 법칙은 불 대수에서 가장 중요한 변환 법칙입니다. 1847년 영국 수학자 오거스터스 드 모르간(Augustus De Morgan)이 발표한 이 법칙은 논리 회로 설계에서 매일 사용됩니다.
드 모르간의 법칙
| 드 모르간의 법칙 — 두 가지 제1법칙: NOT(A AND B) = (NOT A) OR (NOT B) 제2법칙: NOT(A OR B) = (NOT A) AND (NOT B) |
| 드 모르간 제1법칙 진리표 증명 |
| A | B | A·B | NOT(A·B) | NOT A | NOT B | (NOT A)+(NOT B) |
| 0 | 0 | 0 | 1 | 1 | 1 | 1 |
| 0 | 1 | 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 0 | 0 | 0 | 0 |
| ✅ 4번째 열과 7번째 열이 완전히 같습니다 → 드 모르간 제1법칙 증명 완료! |
| 드 모르간 제2법칙 진리표 증명 |
| A | B | A+B | NOT(A+B) | NOT A | NOT B | (NOT A)·(NOT B) |
| 0 | 0 | 0 | 1 | 1 | 1 | 1 |
| 0 | 1 | 1 | 0 | 1 | 0 | 0 |
| 1 | 0 | 1 | 0 | 0 | 1 | 0 |
| 1 | 1 | 1 | 0 | 0 | 0 | 0 |
| ✅ 4번째 열과 7번째 열이 완전히 같습니다 → 드 모르간 제2법칙 증명 완료! |
| 💡 드 모르간 법칙의 핵심 활용 — NAND만으로 모든 논리 구현! NAND 게이트 하나로 AND·OR·NOT 모두 구현 가능합니다. → TTL 74시리즈, CMOS 4000시리즈 IC칩 설계의 핵심 원리입니다. → 현대 VLSI·반도체 설계 CAD 툴의 핵심 최적화 알고리즘입니다. |
| ✂️ 불 대수 간소화와 카르노 맵 |
논리식을 간소화하면 더 적은 게이트로 같은 동작을 구현할 수 있습니다. 비용 절감, 회로 단순화, 신뢰성 향상에 직결됩니다.
| 불 대수 간소화 기본 법칙 |
| 법칙 | 공식 | 설명 |
| 동일 법칙 | A + A = A | 같은 것을 OR해도 변하지 않습니다 |
| A · A = A | 같은 것을 AND해도 변하지 않습니다 | |
| 보수 법칙 | A + Ā = 1 | A와 NOT A를 OR하면 항상 1 |
| A · Ā = 0 | A와 NOT A를 AND하면 항상 0 | |
| 흡수 법칙 | A + AB = A | A가 이미 있으면 AB는 불필요합니다 |
| 드 모르간 | NOT(A·B) = Ā+B̄ | NAND → NOR 변환 |
| NOT(A+B) = Ā·B̄ | NOR → NAND 변환 |
| 카르노 맵 (Karnaugh Map) — 시각적 간소화 도구 |
카르노 맵은 진리표를 격자 형태로 배치해 눈으로 보면서 간소화하는 방법입니다. 1953년 모리스 카르노(Maurice Karnaugh)가 개발했습니다.
| 카르노 맵의 핵심 규칙 ① 인접한 1들을 2개, 4개, 8개(2의 거듭제곱)씩 묶습니다. ② 묶음이 클수록 더 많이 간소화됩니다. ③ 맵의 가장자리는 서로 인접한 것으로 취급합니다 (원형 연결). ④ 묶음 안에서 변하는 변수는 소거됩니다 → 식이 간단해집니다! |
| 🤖 논리게이트로 만드는 라인트레이서 |
| 30년 전 이야기 — 대학 전기과 디지털 논리회로 강의 프로젝트입니다. 대학 전기과 학생들에게 디지털 논리회로를 강의한적 있었는데 불대수와 논리회로(시퀀스 회로)로 제어할 수 있음을 보여주고 실험도 겸하는 프로젝트과제로 제시해 활용했던 과제 입니다. 마이크로컨트롤러를 본격적으로 배우기 전에, 논리게이트와 적외선 센서만을 사용해 라인트레이서를 만들어 보겠습니다. 라인트레이서란 바닥에 그려진 선을 따라 달리는 로봇을 말하며, 제어를 배울 때 입문 과정으로 아주 좋은 과제입니다. 라인을 감지하는 센서 인터페이스, 모터 제어, 회로 배치 및 배선 실습 등 기본적인 제어 요소가 고루 갖춰진 예제입니다. |
| 재료 — 자동차 본체와 모터박스 |
어떤 제품을 만들 때 전자를 전공한 사람들의 공통적인 고민은 자동차 본체를 어떻게 구할 것인가의 문제입니다. 이런 부품을 구할 수 없다면, 장난감 탱크와 같이 기어박스와 2개의 모터가 독립적으로 있는 장치를 사용해도 무관하게 동작시킬 수 있습니다.
라인트레이서 자동차 본체 (자동차 본체 + Motor Box )
자동차 본체는 쉽게 구할 수 있는 20,000원 정도 하는 모터 박스와 본체를 구입하시면 됩니다. 기판은 자동차의 크기에 맞게 잘라 사용하고, 바닥선을 감지하는 센서 고정대도 쇠톱으로 기판을 잘라 원하는 형태로 만들어 사용하시면 됩니다.
직류모터의 기동토크가 약하므로 기어가 장착된 것을 사용해야 합니다. 3개의 센서만을 사용해 곡선을 따라 부드럽게 주행하는 기본적인 라인트레이서를 만들 수 있습니다. 자동차 모듈 위에 주회로부를, 차체 앞부분에 센서부를 조립해 장착하여 완성합니다.
| 📡 센서 동작 원리 — 빛으로 선을 감지합니다 |
투광소자인 EL-7L과 수광소자인 ST-7L을 사용합니다. 검은색 바탕의 바닥에 흰색의 주행선이 있을 때, 주행선의 가운데로 주행할 경우 가운데의 세 개의 센서는 빛이 감지되어 논리 1이 됩니다. (단, 본 프로젝트에서는 이렇게 동작하도록 회로를 구성해서 이런 출력이 나온 것입니다. 회로를 어떻게 구성하느냐에 따라 출력식은 바뀔 수 있습니다.)
슈미트트리거인 74LS14를 거치면서 회로에는 논리 0이 전달되고, 양쪽의 두 개는 검은색 바닥이 빛을 흡수해 수광부에 빛이 오지 않으므로 회로에는 논리 1이 전달됩니다.
바닥의 흰색 선을 모두 감지했을 때 논리 000
주행선을 조금 벗어날 경우 001
| 센서 동작 정리 ( 회로를 이렇게 동작되도록 설계했기에 이렇게 정리된 것입니다. 회로마다 다른 결과가 나올수 있습니다. ^^) 흰색 선 감지: 빛 반사 → 수광소자 감지 → 74LS14 NOT 처리 → 논리 0 검은색 바닥: 빛 흡수 → 수광소자 미감지 → 74LS14 NOT 처리 → 논리 1 L(왼쪽) · C(가운데) · R(오른쪽) 3개의 센서로 위치를 판단합니다. |
| 📋 동작 정의 — 진리표 작성 |
이 센서의 입력을 받아 어떻게 모터를 구동할지를 결정합니다. 이런 작업을 진리표를 통해 논리식을 얻고, 카르노 맵을 이용한 간략화를 통해 회로로 구성해 라인트레이서를 동작시킵니다.
센서 입력에 대한 모터 출력표 (진리표)
| 최소항 추출 왼쪽 모터 구동에 관한 최소항 = Σ(0, 2, 4, 5, 6) 오른쪽 모터 구동에 관한 최소항 = Σ(0, 1, 2, 3, 5) |
| 💡 카르노 맵(Karnaugh Map) — 쉽게 이해하기 |
카르노 맵은 복잡한 논리식을 눈으로 보면서 간단하게 줄이는 도구입니다.
불 대수 법칙으로 손으로 계산해 간소화할 수도 있지만, 변수가 많아질수록 실수하기 쉽습니다. 카르노 맵을 사용하면 눈으로 보면서 가장 단순한 논리식을 찾아낼 수 있습니다.
| 진리표 방법 vs 카르노 맵 방법 진리표 방법: 모든 경우를 나열 → 불 대수로 손으로 계산 → 실수 위험 높음 카르노 맵: 격자에 1을 채우고 묶음을 찾음 → 눈으로 보면서 간소화 → 빠르고 정확! |
| STEP 1 — 변수 개수에 맞는 격자를 그립니다 |
| 변수 개수 | 격자 크기 | 사용 예 |
| 2개 (A, B) | 2 × 2 | 간단한 논리 회로 |
| 3개 (L, C, R) | 2 × 4 | 라인트레이서 ← 여기서 사용! |
| 4개 (A,B,C,D) | 4 × 4 | 복잡한 제어 회로 |
| STEP 2 — 진리표의 1을 격자에 채워 넣습니다 |
| ⚠️ 핵심 주의사항 — 열 순서는 반드시 그레이 코드 순서! 일반 순서: 00 → 01 → 10 → 11 (이렇게 하면 안 됩니다!) 그레이 코드: 00 → 01 → 11 → 10 (반드시 이 순서!) 이 순서를 지켜야 인접한 칸끼리 딱 하나의 비트만 다릅니다. (예: 01→11은 C만 바뀜) 하나의 변수만 다를 때만 그 변수를 소거할 수 있기 때문입니다! |
| STEP 3 — 인접한 1을 묶어서 논리식을 읽어냅니다 |
| 묶는 규칙 4가지 ✅ 반드시 2의 거듭제곱(1·2·4·8개)으로 묶습니다 ✅ 묶음이 클수록 논리식이 더 간단해집니다 — 최대한 크게 묶으세요! ✅ 맵의 좌우·상하 가장자리는 이어진 것으로 봅니다 (원형!) ✅ 이미 묶인 1도 다른 묶음에 중복 사용 가능합니다 |
| 묶음에서 논리식 읽는 법 묶음 안에서 변하는 변수는 소거합니다 변하지 않는 변수만 논리식에 남습니다 예) L=0 행 전체가 묶이면 → L이 소거 → 논리식에서 L 사라짐! 예) CR=00,10 열이 묶이면 → C가 소거 → 논리식에서 C 사라짐! 남은 변수가 0이면 NOT(Ā), 1이면 그대로(A) 씁니다 |
| 카르노 맵 간소화 과정 한눈에 보기 ① 변수 개수에 맞는 격자 그리기 (3변수 → 2×4) ② 열 순서 확인 (반드시 00→01→11→10) ③ 진리표의 1을 격자에 채우기 ④ 인접한 1을 최대한 크게 묶기 (2의 거듭제곱, 중복 허용) ⑤ 각 묶음에서 변하지 않는 변수만 읽어 논리식 작성 ⑥ 각 묶음의 논리식을 OR(+)로 연결 → 최종 논리식 완성! |
| 🗺️ 카르노 맵으로 간소화하기 |
위 두 가지 최소항을 카르노 맵을 이용해 간략화하면 다음과 같습니다.
왼쪽 모터와 오른쪽 모터의 카르노 맵 (빨간 원으로 묶음 표시된 그림)
| 왼쪽 모터 카르노 맵 — Σ(0, 2, 4, 5, 6) |
| 카르노 맵 배치 (L행, CR열) CR=00: L=0 → 1(최소항0), L=1 → 1(최소항4) CR=01: L=0 → 빈칸, L=1 → 1(최소항5) CR=11: L=0 → 빈칸, L=1 → 빈칸 CR=10: L=0 → 1(최소항2), L=1 → 1(최소항6) 묶음 1: {0,4,2,6} — CR=00,10 열 전체 → C,R 변수 소거됨 묶음 2: {4,5} — L=1, CR=00,01 → C 변수 소거됨 |
| 왼쪽 모터 최종 논리식 L_MOTOR = R̄ + L·C̄ (R이 0일 때) OR (L=1 이고 C=0 일 때) → 왼쪽 모터 구동 |
| 오른쪽 모터 카르노 맵 — Σ(0, 1, 2, 3, 5) |
| 카르노 맵 배치 (L행, CR열) CR=00: L=0 → 1(최소항0), L=1 → 빈칸 CR=01: L=0 → 1(최소항1), L=1 → 1(최소항5) CR=11: L=0 → 1(최소항3), L=1 → 빈칸 CR=10: L=0 → 1(최소항2), L=1 → 빈칸 묶음 1: {0,1,2,3} — L=0 행 전체 → L 변수 소거됨 묶음 2: {1,5} — CR=01 열 → C 변수 소거됨 |
| 오른쪽 모터 최종 논리식 R_MOTOR = L̄ + R·C̄ (L이 0일 때) OR (R=1 이고 C=0 일 때) → 오른쪽 모터 구동 |
간략화를 통해 구한 모터 출력 논리식
| 간략화를 통해 완성된 최종 논리식 L_MOTOR = R̄ + L·C̄ R_MOTOR = L̄ + R·C̄ 이 논리식이 바로 논리회로로 구성하는 라인트레이서의 제어회로가 됩니다! |
| 🔌 논리식 → 논리회로 구성 |
간략화한 논리식을 바탕으로 회로를 그리면 다음과 같습니다. 이 논리식이 바로 논리회로로 구성하는 라인트레이서의 제어회로가 됩니다.
실제 제작 시 회로부와 센서부는 커넥터로 연결되고, 모터 2개와 전원 역시 커넥터로 연결됨을 유의해 회로 배치를 해야 합니다.
라인트레이서 센서부 회로도 (EL-7L 투광소자, ST-7L 수광소자)
논리회로로 구성한 라인트레이서 센서부 실물 회로도
배선 시 부품 배치는 그림을 참조하여 배치하시면 됩니다. 먼저 라인트레이서의 크기에 맞게 기판을 자르고 나사못의 위치에 구멍을 뚫은 뒤 납땜을 하는 것이 좋은 방법입니다. 조립 작업 시 납땜 인두에 인한 화상에 주의하셔야 합니다.
센서부의 납땜 시 공간이 좁으므로 공간의 활용이 매우 중요합니다. 납땜 작업 시 부품의 방향에 주의해야 하고 수광소자에는 검은 연축튜브를 끼워 오동작을 예방하는 것이 중요합니다.
검은색 바탕에 흰 라인 주행을 위한 라인트레이서 전체 회로도
| 🏁 완성! — 논리게이트 라인트레이서 |
회로도만 가지고 라인트레이서를 완성하기가 처음에는 쉽지 않을 것입니다. 커넥터를 연결하는 법, 센서의 방향을 찾아내는 법, 각종 IC를 구입하는 것, 크기에 맞게 기판을 자르고 회로를 납땜하는 것 하나 하나가 끈기와 노력을 요하는 작업입니다.
전자 기술자는 프로그램뿐 아니라 회로에 대한 이해가 선행되어야 합니다. 회로를 보고 하나 하나 조립하다 보면 저절로 이해되는 부분도 있고, 회로의 고장을 찾을 때도 많은 도움이 됩니다.
완성된 논리게이트 라인 트레이서 (앞면과 뒷면)
완성된 트레이서 주행 모습 (검은 바닥, 흰색 라인)
원하는 동작을 진리표로 구하고 이를 간략화해 논리회로를 구성한 뒤 회로를 제어하면 제법 그럴듯한 라인트레이서가 완성됩니다.
주행로는 만든 센서의 폭에 맞는 흰색의 종이로 만들고 바탕은 무반사 검은색 종이로 만들면 됩니다. 검은색 종이 중에 빛을 반사하는 코팅된 검은색 종이는 빛의 반사율이 흰색과 거의 같아 라인트레이서가 길을 잘 감지하지 못하는 경우가 있으므로 무광의 검은색 종이를 사용하는 것이 좋습니다.
흰색 바탕에 검은색 길 주행을 위한 라인트레이서 회로
| 흰색 바닥에 검은색 길로 변경하려면? 흰색 바닥에 검은색 길로 주행로를 만들기 위해서는 74LS14 슈미트트리거 입력 NOT 게이트를 한 줄 제거하시면 됩니다. |
| ⏳ 마이크로프로세서 이전 vs 이후 |
진리표를 가지고 불 대수를 사용해 간략화한 다음 마이컴 대신에 기본 게이트만 가지고 출력표의 조건을 만족하는 라인트레이서를 만들 수 있습니다. 하지만 회로도 복잡해지고, 무엇보다도 기본적인 주행 이외에 다른 조건을 하나라도 삽입할 경우 모든 회로를 다시 작성해야 하는 결정적 단점이 있어 마이컴으로 작성하는 것이 유리합니다.
| 구분 | 논리게이트 방식 | 마이크로프로세서 방식 |
| 제어 방식 | 하드웨어 논리 회로 | 소프트웨어 프로그램 |
| 핵심 도구 | TTL IC칩 (74LS시리즈) | 아두이노·마이크로컨트롤러 |
| 설계 방법 | 불 대수·드 모르간·카르노 맵 | C언어·파이썬·아두이노 코드 |
| 조건 변경 | 모든 회로 재설계 필요! | 코드만 수정하면 됩니다 |
| 지금도? | FPGA·ASIC 설계에 필수! | 일반 제어는 소프트웨어로 |
| 지금도 불 대수·드 모르간 법칙이 사용되는 곳 FPGA — 하드웨어 논리 회로 직접 설계 ASIC — 반도체 칩 설계 (스마트폰 AP, GPU, AI 칩) Verilog · VHDL — 하드웨어 기술 언어 (HDL) 디지털 논리회로의 기초 없이는 반도체 설계를 이해할 수 없습니다! |
| 📌 핵심 정리 |
| 불 대수 · 드 모르간 · 카르노 맵 · 라인트레이서 핵심 정리 ① 불 대수 = 디지털 시대의 대수 — 0과 1만으로 모든 논리를 표현합니다 ② 기본 연산 3가지: AND(·) · OR(+) · NOT(Ā) ③ 드 모르간 제1법칙: NOT(A AND B) = (NOT A) OR (NOT B) ④ 드 모르간 제2법칙: NOT(A OR B) = (NOT A) AND (NOT B) ⑤ 불 대수 간소화 → 카르노 맵 → 더 단순한 논리식! ⑥ L_MOTOR = R̄ + L·C̄, R_MOTOR = L̄ + R·C̄ — 라인트레이서 제어 완성! ⑦ NAND 하나로 AND·OR·NOT 모두 구현 — 드 모르간 법칙 덕분! ⑧ FPGA·ASIC·반도체 설계에 지금도 핵심 기초로 활용됩니다! |
| 진리표 → 최소항 도출 → 카르노 맵 간소화 → 논리식 → 논리회로 → 완성! 이 과정이 바로 디지털 논리회로 설계의 정석입니다. 조지 불이 1854년에 만든 수학이 라인트레이서를 달리게 합니다! |
민선생의 전자공방 · blog.naver.com/hansikmin
드모르간법칙, 불대수, 카르노맵, 논리게이트, 라인트레이서, 디지털논리회로, NAND, TTL, 민선생전자공방
태그#코딩없이로봇#드모르간법칙#불대수#카르노맵#논리게이트#라인트레이서#디지털논리회로#마이크로프로세서#민선생전자공방 태그수정
