📗 기초 강좌메뉴
코딩하기 · 기초 강좌

기기 코딩 15 / 31

아날로그: 센서 값 읽기와 밝기 조절

아날로그는 켜짐·꺼짐 사이의 '얼마나'를 다뤄요. 빛의 양을 숫자로 읽고, LED 밝기를 조금씩 바꿀 수 있어요.

디지털이 스위치라면, 아날로그는 볼륨 다이얼이에요. 센서가 느낀 양을 숫자로 읽고(입력), 밝기나 속도를 숫자로 정해요(출력).

읽기와 밝기 조절
int value = analogRead(A0);← A0 핀의 값 읽기. Uno는 0~1023, ESP32는 0~4095
int bright = map(value, 0, 1023, 0, 255);← 0~1023 범위를 0~255 범위로 바꿔요
analogWrite(10, bright);← LED 밝기 0(꺼짐)~255(가장 밝게)
  • Uno에서 밝기 조절(analogWrite)은 숫자 옆에 ~ 표시가 있는 핀(3, 5, 6, 9, 10, 11)에서만 돼요.
  • ESP32는 대부분의 출력 핀에서 밝기 조절이 돼요.
  • ESP32에서 센서를 읽을 때는 32~39번 핀을 쓰는 게 좋아요. 다른 아날로그 핀은 Wi-Fi를 켜면 읽히지 않아요. (이 사이트는 34번을 써요)

밝기 조절은 사실 아주 빠르게 켰다 껐다 하는 거예요(PWM). 1초에 수백 번 깜빡여서 눈에는 은은하게 보여요. 영화가 사진을 빠르게 넘겨 움직이는 것처럼 보이는 것과 같아요.

💬 막히면 도우미에게 물어보세요

오류가 나면 오류 문구를 그대로 붙여 넣으면 더 정확해요. 예: “analogRead 값이 가만히 있어도 계속 조금씩 바뀌어요. 정상이에요?”