123_다중아두이노_네트워크개요 🌐🤝

도로시와 지니가 함께하는 다중 MCU 분산 처리(Distributed Processing)의 필요성과 3대 임베디드 통신 프로토콜 비교
- 👧 도로시: “지니야! 로봇 자동차를 만들었는데 모터도 돌리고, 초음파 센서도 재고, 블루투스 무선 명령도 받고, LCD 화면도 그려야 해! 혼자서 모든 걸 다 하려니까 화면이 버벅거리고 모터가 덜컥거려!”
- 🐱 지니: “사람도 일이 너무 많으면 친구와 역할을 나누어 일하잖아! 2대 이상의 아두이노(다중 MCU) 를 통신선으로 연결해 한 대는 모터 전담, 한 대는 센서와 디스플레이 전담으로 협동 작전을 펼치면 된단다!”
-
🐶 토토: “바우! 백지장도 맞들면 낫고, 아두이노도 뭉치면 슈퍼컴퓨터가 된다 멍!”
- 🖥️ 강의 슬라이드: slides.md
1. 단일 마이크로컨트롤러의 한계와 분산 처리의 필연성

🤖 왜 하나의 아두이노만으로는 부족할까요?
아두이노 우노에 탑재된 ATmega328P는 16MHz 클럭으로 동작하는 8비트 싱글 코어(Single Core) 마이크로컨트롤러입니다.
- 블로킹(Blocking) 함수의 병목 현상:
delay(),pulseIn()처럼 시간을 끄는 함수가 실행되는 동안에는 CPU가 다른 센서를 읽거나 모터 펄스를 발생시키지 못합니다.
- I/O 핀 개수의 물리적 한계:
- 디지털 핀 14개, 아날로그 핀 6개로는 수많은 센서, 7세그먼트, 모터 드라이버, 디스플레이를 동시에 연결하기에 핀이 태부족합니다.
- 분산 처리(Distributed Processing)의 해결책:
- 마스터 아두이노 (Master / Brain): 사용자 UI, 버튼 입력, 무선 통신(Bluetooth/Wi-Fi), 고수준 판단 담당.
- 슬레이브 아두이노 (Slave / Motor & Sensor Hub): 초음파 거리 측정, 모터 PWM 제어, 엔코더 카운팅 등 실시간 하드웨어 작업 전담.
2. 임베디드 3대 유선 통신 방식 비교 (UART vs I2C vs SPI)

📡 두 아두이노를 잇는 3가지 통신 고속도로
| 비교 항목 | 1. UART 시리얼 (Serial) | 2. I2C (Inter-IC) | 3. SPI (Serial Peripheral) |
|---|---|---|---|
| 필요 전선 수 | 2가닥 (TX, RX) (+공통 GND) | 2가닥 (SDA, SCL) (+공통 GND) | 4가닥 (MOSI, MISO, SCK, SS) |
| 통신 속도 | 보통 (9600 ~ 115200 bps) | 빠름 (100kHz / 400kHz) | 초고속 (최대 4MHz ~ 8MHz 이상) |
| 연결 토폴로지 | 1 대 1 (Point-to-Point) | 1 대 多 (7비트 주소 기반) | 1 대 多 (전용 SS 칩선택 핀 기반) |
| 하드웨어 구현 | 매우 간단 (직교 연결) | 풀업 저항 필요, 주소 충돌 주의 | 선이 많지만 프로토콜 오버헤드 없음 |
| 주요 사용처 | 보드 간 1:1 대화, 블루투스 | 센서 다수 연결, OLED, RTC | SD 카드, 고해상도 TFT LCD, 고속 DAC |
3. 통신의 제1원칙: 공통 접지 (Common Ground)

⚡ 접지(GND)를 묶지 않으면 통신이 불가능해요!
- 서로 다른 두 아두이노가 USB 케이블이나 독립된 배터리로 전원을 공급받을 때, 두 보드의 0V 기준 전위(GND) 가 서로 다르면 전압의 높낮이(HIGH/LOW)를 올바르게 판별할 수 없습니다.
- 따라서 어떤 통신 방식을 사용하든 두 아두이노의 GND 핀을 점퍼선으로 반드시 하나로 묶어(Common Ground) 기준 전압을 동일하게 맞춰주어야 합니다!
4. 다중 아두이노 프로젝트 설계 로드맵

[1단계: UART 시리얼 연동]
두 아두이노의 TX/RX 핀을 교차 연결하여 문자열('A', 'B')과 명령을 1:1로 주고받기!
↓
[2단계: I2C 다중 센서 버스 연동]
SDA(A4), SCL(A5) 두 가닥 버스선 위에 주소(0x08, 0x09)를 부여하여 여러 보드를 줄줄이 연결하기!
↓
[3단계: SPI 초고속 통신 연동]
마스터가 고속 클럭(SCK)을 뿜어내며 슬레이브와 바이트 단위로 실시간 고속 양방향 데이터 교환!
🌟 도로시와 지니의 핵심 요약 노트!

- 👧 도로시: “일이 너무 많을 땐 아두이노 여러 대가 역할을 나누어 분산 처리하면 버벅거림 없이 매끄럽게 돌아가는구나!”
- 🐱 지니: “맞아! UART, I2C, SPI 세 가지 통신 방식의 장단점을 알고 상황에 맞게 골라 쓰는 것이 핵심이란다.”
- 🐶 토토: “바우! 먼저 가장 기본이 되는 시리얼 포트(UART) 통신부터 배우러 가자 멍!”
서브목차