백분율로 매핑하기
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()은 정수와 함께 작동하며 소수 부분은 버립니다. 백분율에는 문제가 없습니다.
챌린지
쉬움노브는 A0에 연결되어 있습니다. 노브가 얼마나 돌아갔는지 백분율로 출력하세요:
- A0 읽기
map()으로 읽은 값을 0부터 100까지로 변환하기- 백분율을 출력한 다음 100 ms 대기하기
Run을 누르고 노브를 돌린 다음 Check를 누르세요.
직접 해보기
void setup() {
Serial.begin(9600);
}
void loop() {
int reading = analogRead(A0);
// map()으로 reading을 백분율로 변환하고 출력한 다음 100 ms 동안 기다립니다
}
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
입력의 모든 레슨
직접 연습해 보세요: Arduino 플레이그라운드