
단계 2 / 6, 3-4주차
마이크로컨트롤러, Arduino, ESP32
목표: 세상을 읽고 출력을 제어하는 코드를, 먼저 Arduino에서 그다음 ESP32에서 작성해요.
여기서부터 코드로 회로를 제어하기 시작해요. 어떤 줄이 어떤 핀을 움직이는지 직접 확인하는 일이 가장 값진 단계예요.
이 단계의 Lab

Lab 00
Blink: 첫 번째 프로그램
Arduino 첫 프로그램을 안쪽에서 들여다봐요. 13번 핀이 5 V와 0 V를 오가고, 그에 따라 LED가 켜졌다 꺼져요.
배울 것
- 1첫 번째 blink와 버튼 읽는 방법
- 2PWM: 밝기와 속도 제어
- 3보드 안에서 무슨 일이 일어나는지 보는 시리얼 통신
- 4ESP32-S3 핀아웃, 그리고 ESP32에 Wi-Fi와 Bluetooth가 있는 이유
- 5펌웨어를 한 줄씩 읽기
모르는 단어가 있나요? 여기서 찾아보세요: 용어집.
흔한 실수
모든 곳에 delay()를 쓰는 것. delay()는 루프 전체를 멈춰요. 기다리는 동안 프로그램은 센서를 하나도 읽지 못해요. 멈추지 않고 기다리려면 millis()를 쓰세요.
이해했나요?
3문제 중 1번
Arduino Uno에서 digitalWrite(13, HIGH)는 무엇을 할까요?
실습
Arduino 시뮬레이터에서 가변저항을 읽고, PWM으로 LED 밝기를 바꾸고, 그 값을 시리얼로 출력하는 프로그램을 작성해 보세요. 먼저 Arduino Uno에서 하고, 그다음 ESP32로 옮기세요. 각각 출력하는 범위를 살펴보세요. Uno는 0에서 1023까지, ESP32는 0에서 4095까지 읽어요. 넘어가기 전에 이유를 알아보세요.