아두이노 매핑 함수, map()
MCU 공부/아두이노 레퍼런스 Arduino Reference2020. 5. 25. 08:02
한 범위에서 다른 범위의 값으로 매핑하는 함수인 map()에 대해 알아보겠습니다.
map(value, fromLow, fromHigh, toLow, toHigh)
매개 변수
value: 매핑 할 숫자입니다.
fromLow: 값의 현재 범위의 하한.
fromHigh: 값의 현재 범위의 상한.
toLow: 값의 목표 범위의 하한.
toHigh: 값의 목표 범위의 상한.
참고
map () 함수는 정수 수학을 사용합니다. 따라서 이로 인해 분수가 억제 될 수 있습니다. 예를 들어 3/2, 4/3, 5/4와 같은 분수는 실제 값이 다르더라도 map () 함수에서 모두 1로 반환됩니다. 따라서 프로젝트에서 정확한 계산 (예 : 소수점 3 자리까지 정확한 전압)이 필요한 경우 map ()을 피하고 코드에서 직접 계산을 구현하십시오.
예제 코드
map()함수는 adc입력값 0~1023을 출력범위인 0~255로 매핑할때 쓸 수 있듯, 입력값과 출력값의 범위를 맞출 때 사용하게 됩니다.
1
2
3
4
5
6
7
8
9
10
11
|
void setup() {
Serial.begin(9600);
Serial.println(map(100,0,1023,0,255));
}
void loop() {
}
|
0~1023의 입력범위에 있는 100이란 값을 매핑하게되면( 0 ~255에 ) 24의 결과가 나오게 됩니다.
감사합니다.
'MCU 공부 > 아두이노 레퍼런스 Arduino Reference' 카테고리의 다른 글
아두이노 거듭제곱 구하기 , pow() (0) | 2020.05.25 |
---|---|
아두이노 최댓값, 최솟값 구하기, max(),min() (0) | 2020.05.25 |
아두이노 출력 값 범위 제한함수, constrain() (0) | 2020.05.22 |
아두이노 절대 값 계산, abs() (0) | 2020.05.22 |
아두이노 랜덤 숫자(난수)생성 함수, random(), randomSeed() (0) | 2020.05.22 |
댓글()