보드 준비하기
ESP32 보드를 USB 케이블로 컴퓨터에 연결하는 준비를 해요.
보드가 없어도 괜찮아요
ESP32 실습실의 가상 보드는 실제 보드와 같은 코드로 움직이게 만들어요. 보드가 없으면 가상 보드로 실습하고, 보드가 생기면 이 페이지로 돌아와요.
준비물
- ESP32 개발 보드(교과서 키트는 확장 보드에 꽂아서 써요)
- 데이터를 주고받을 수 있는 USB 케이블(교과서 키트의 보드는 USB-C 단자예요)
- 컴퓨터용 Chrome이나 Edge 최신판
- 실습할 부품 모듈(차시마다 달라요)
키트 부품 이름 맞춰 보기
교과서 키트의 부품 이름과, 다른 회사 부품을 살 때 찾아보는 범용 이름을 나란히 적었어요. 핀 번호는 차시마다 달라서, 실습할 때는 그 차시의 배선도를 따라요.
| 키트·원고 표기 | 범용 부품 이름 | 연결 방식 | 교과서 예제의 핀(예) | 쓰는 차시 |
|---|---|---|---|---|
| ESP32 개발 보드(모듈 표기 ESP-WROOM-32) | ESP32 개발 보드(ESP-WROOM-32 모듈) | USB-C 케이블(프로그램 올리기·전원) | 내장 LED GPIO2, BOOT 버튼 GPIO0 | 2-1-1부터 보드를 쓰는 모든 차시 |
| 확장 실드(기판 표기 ESP32 Shield V2) | ESP32 확장 보드(핀마다 GND·VCC·신호 3핀 헤더가 있는 센서 실드) 실물 확인 전: 줄마다 나오는 전압(3.3V·5V)과 핀 배치 | ESP32 보드를 꽂아서 씀 | 핀 번호가 기판에 인쇄되어 있음 | 부품을 연결하는 모든 차시 |
| USB 드라이브(CH340) | USB-시리얼 변환 칩(보드 안에 있음) 실물 확인 전: 보드에 실제로 붙은 칩 이름 | 보드의 USB 단자와 이어짐 | — | 2-1-1(드라이버 안내) |
| LCD(2x16), 기판 1602A, 백팩 I2C Addr:0x20 | 16×2 문자 LCD(1602) + I2C 변환 모듈(PCF8574 계열) 실물 확인 전: 실제 I2C 주소(모듈 점퍼에 따라 0x20~0x27) | I2C 4핀(GND·VCC·SDA·SCL) | SDA 21, SCL 22, 주소 0x20 | 2-1-2, 4-1-4, 4-2-1, 4-2-2 |
| OLED(SH1106), 기판 OLED 1.3인치 | 1.3인치 OLED 128×64(I2C) 실물 확인 전: 화면 칩 종류(SH1106 또는 SSD1306) | I2C 4핀(GND·VCC·SDA·SCL) | SDA 21, SCL 22 | 2-1-3 |
| 터치 센서 | 터치 센서 모듈(디지털 출력) 실물 확인 전: 어느 모듈을 어떻게 연결하는지 | 디지털 입력(누르는 동안 1) | GPIO17 | 2-1-2, 2-2-1 |
| Analog Touch Sensor, 터치 센서(4채널) | 4버튼 아날로그 터치 패드(버튼마다 다른 값이 나옴) | 아날로그 입력 1개 | GPIO32(값 약 688·1535·2381·3263) | 2-1-3, 2-1-5, 2-2-2 |
| RGB LED(교안: Led_rgb) | RGB LED 모듈(5핀: GND·VCC·R·G·B) 실물 확인 전: 공통 극성(켜지는 값이 1인지 0인지) | 디지털 출력 또는 PWM(밝기 조절) | 예: 27·32·33(2-1-4), 25·26·27(3-1-3) | 2-1-3, 2-1-4, 3-1-3, 4-2-2 |
| Laser 레이저 | 레이저 모듈(3핀: GND·VCC·신호) | 디지털 출력 | 예: GPIO21(2-1-4), GPIO18(3-1-2) | 2-1-4, 3-1-2, 4-2-2 |
| 16구 네오픽셀(3핀) | 16구 링 LED(네오픽셀, WS2812 방식으로 제어) 실물 확인 전: LED 칩 이름 | 데이터 입력(DIN) 1개 | GPIO23 | 2-1-5 |
| M_Buzzer 수동버저 | 수동(패시브) 버저 모듈(3핀) | PWM(음 높이 조절) | 예: GPIO15(2-2-1), GPIO2(4-2-2) | 2-2-1, 4-2-2 |
| MP3 Player MP3플레이어(원고: DFPlayer Mini) | DFPlayer Mini 계열 MP3 모듈 + 스피커 + microSD 카드 실물 확인 전: 수업에서 쓰는 모듈 종류 | UART2(9600bps) | ESP32 TX 17 → 모듈 RX, 모듈 TX → ESP32 RX 16 | 2-2-2 |
| Fan Motor 선풍기 | DC 팬 모터 모듈(4핀: GND·VCC·INA·INB) + 프로펠러 | 디지털 출력 2개(방향), PWM(속도) | INA GPIO25, INB GPIO26 | 2-2-3 |
| MG90S Micro servo(교안 사진: SG90) | 마이크로 서보모터(MG90S·SG90급) 실물 확인 전: 펄스 폭과 각도의 정확한 관계 | PWM 50Hz | 예: GPIO25(2-2-4), 25·26(두 축) | 2-2-4, 4-2-1, 4-2-2 |
| Vibration Motor 진동모터 | 진동 모터 모듈(3핀: GND·VCC·신호) 실물 확인 전: 사이트가 정할 핀으로 움직이는지 | 디지털 출력 또는 PWM | 원고에 핀이 없어 사이트가 정할 예정 | 2-2-1(새 예제 예정) |
| USB to UART Converter | USB-UART 변환기(3.3V/5V 전환 스위치) 실물 확인 전: 칩 종류와 TX·RX 연결 방향 | TX·RX·GND 선으로 보드와 연결, 컴퓨터와는 따로 USB | 원고 그림: 변환기 TX → GPIO16, RX → GPIO17 | 3-1-2 |
표가 화면보다 넓으면 옆으로 밀어서 보세요. "실물 확인 전"은 원고 사진과 코드로만 확인해서, 실제 키트로 한 번 더 확인할 점이에요.
USB 케이블 확인하기
충전 전용 케이블로는 연결되지 않아요
보드에 불이 들어와도 컴퓨터가 보드를 못 알아보면 케이블을 먼저 의심해요. 휴대폰과 컴퓨터 사이에 사진을 옮길 수 있었던 케이블처럼 데이터가 오가는 케이블을 써요.
보드 연결하기
- 보드를 USB 케이블로 컴퓨터에 먼저 꽂아요.
- ESP32 실습실에서 [연결]을 누르면 브라우저가 포트 선택 창을 열어요. 포트는 컴퓨터가 보드와 신호를 주고받는 통로예요.
- 목록에서 보드를 고르고 연결을 눌러요.
준비 중이에요
[연결] 버튼은 ESP32 실습실을 만드는 단계(Phase 3)에 생겨요.
연결이 안 될 때
포트 선택 창에 보드가 안 보여요
케이블과 연결 확인하기
- 충전 전용 케이블이 아닌지 봐요. 다른 케이블로 바꿔 보는 것이 가장 빨라요.
- USB 허브나 연장선 대신 컴퓨터 본체의 USB 단자에 바로 꽂아요.
- 보드에 전원 표시등이 있다면 켜졌는지 봐요.
다시 꽂고 목록 다시 보기
- 포트 선택 창을 닫고, 케이블을 뽑았다가 다시 꽂아요.
- [연결]을 다시 눌러 목록을 봐요. 보드를 꽂기 전에는 없다가 꽂은 뒤 새로 생긴 항목이 보드예요.
컴퓨터가 보드를 알아보는지 확인하기(Windows)
- 시작 단추를 마우스 오른쪽 버튼으로 누르고 장치 관리자를 열어요.
- 포트(COM & LPT) 아래에 보드를 꽂을 때 새로 생기는 항목(예: COM3)이 있으면 컴퓨터가 보드를 알아본 거예요. 포트 선택 창에서 같은 COM 번호를 찾아 골라요.
- 기타 장치에 느낌표(!)가 붙은 알 수 없는 장치가 생기면 드라이버가 없는 거예요. 다음 단계로 가요.
- 꽂아도 아무 변화가 없으면 케이블이나 USB 단자 문제일 가능성이 커요. 첫 단계로 돌아가요.
드라이버 설치하기(필요할 때만)
드라이버는 컴퓨터가 장치를 알아보게 해 주는 작은 프로그램이에요. Windows 10·11은 인터넷에 연결되어 있고 자동 설치가 허용되어 있으면, 보드를 꽂을 때 드라이버가 저절로 설치되기도 해요.
저절로 설치되지 않으면 보드의 USB 칩에 맞는 드라이버를 제조사 공식 페이지에서 받아요. 칩 이름은 USB 단자 근처 작은 칩에 적힌 글자(예: CH340, CP2102)나 장치 관리자의 장치 이름에서 볼 수 있어요.
USB 칩 만든 회사 공식 페이지 CH340·CH341 WCH(Nanjing Qinheng Microelectronics) CH341SER.EXE 내려받기 페이지(Windows) CP210x(CP2102 등) Silicon Labs CP210x USB to UART Bridge VCP 드라이버 페이지 학교 컴퓨터에서 설치 권한이 없으면 전산 담당 선생님께 설치를 부탁해요. 이 사이트는 드라이버 파일을 따로 올려 두지 않아요.
Linux(우분투 등)라면
- 포트를 쓸 권한이 필요해요. 터미널에서
sudo usermod -a -G dialout $USER를 실행한 뒤, 로그아웃했다가 다시 로그인해요. - 보드를 꽂자마자 포트가 사라지면, 점자 단말기용 프로그램 brltty가 CH340 같은 USB-시리얼 장치를 잘못 가져가는 경우예요(Ubuntu 버그 기록). 점자 단말기를 쓰지 않는 컴퓨터라면
sudo apt remove brltty로 지운 뒤 보드를 다시 꽂아요. 점자 단말기를 쓰는 컴퓨터에서는 지우지 말고 담당자와 상의해요.
- 포트를 쓸 권한이 필요해요. 터미널에서
그래도 안 되면
- 다른 USB 단자나 다른 컴퓨터에 꽂아 봐요. 문제가 보드에 있는지 컴퓨터에 있는지 가를 수 있어요.
- 학교 네트워크와 브라우저 점검 페이지의 [결과 복사] 글과 함께 문제 알리기(GitHub Issues)에 남겨 주세요.
펌웨어 굽기와 연결 테스트
펌웨어는 보드에 넣는 기본 프로그램이에요. 이 사이트는 MicroPython 펌웨어를 버튼 한 번으로 보드에 넣고(굽기), 보드의 내장 LED를 깜빡여 연결을 확인하게 만들 거예요.
준비 중이에요
펌웨어 굽기와 연결 테스트는 ESP32 실습실을 만드는 단계(Phase 3)에 생겨요.
안전하게 쓰기
부품을 다룰 때 지켜요
- 레이저 빛을 눈이나 다른 사람 쪽으로 비추지 않아요.
- 팬이 도는 동안 날개에 손대지 않아요.
- 배선을 바꿀 때는 먼저 USB 케이블을 뽑아요.
- 모터나 서보를 여러 개 쓰면 USB 전원이 모자랄 수 있어요. 확장 보드에 전원 스위치가 있다면 켜져 있는지 확인해요.