Menu
CoddyTech

백분율로 매핑하기

Coddy Arduino 여정의 입력 섹션에 포함된 레슨. 22개 중 10번째.

0부터 1023까지의 측정값은 사람에게 별 의미가 없습니다. 0부터 100까지의 백분율이 더 이해하기 쉽습니다. map()은 한 범위의 숫자를 다른 범위의 숫자로 변환합니다:

int percent = map(reading, 0, 1023, 0, 100);

숫자 다섯 개를 받습니다. 값, 해당 범위의 최솟값과 최댓값, 그리고 새 범위의 최솟값과 최댓값입니다. 0은 0이 되고, 1023은 100이 되며, 범위의 4분의 1 지점에 있는 값은 새 범위에서도 4분의 1 지점에 놓입니다. 256은 25가 됩니다.

map()은 정수와 함께 작동하며 소수 부분은 버립니다. 백분율에는 문제가 없습니다.

challenge icon

챌린지

쉬움

노브는 A0에 연결되어 있습니다. 노브가 얼마나 돌아갔는지 백분율로 출력하세요:

  • A0 읽기
  • map()으로 읽은 값을 0부터 100까지로 변환하기
  • 백분율을 출력한 다음 100 ms 대기하기

Run을 누르고 노브를 돌린 다음 Check를 누르세요.

직접 해보기

void setup() {
  Serial.begin(9600);
}

void loop() {
  int reading = analogRead(A0);
  // map()으로 reading을 백분율로 변환하고 출력한 다음 100 ms 동안 기다립니다
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

입력의 모든 레슨

직접 연습해 보세요: Arduino 플레이그라운드