Page 236 - 최강 아두이노 퍼스트 참고서
P. 236
위의 예제코드에서 사용된 map() 함수는 지정된 범위내의 입력된 값을 지정된 범위 의 비율
로 변환하여 반환하는 함수입니다.
>> map 함수 사용법 지정된 비율의 입력된 값을 다른 비율의 값으로 구할 때 사용되는 함수
입니다.
MAP(VALUE, FROMLOW, FROMHIGH, TOLOW, TOHIGH)
map 함수는 <Arduino.h> 파일에 정의 되어 있습니다.
long map(long, long, long, long, long);
map 함수 호출 시 사용되는 파라미터는 5개입니다. 각각의 파라미터의 의미는 아래와 같습니
다.
long MAP(VALUE, FROMLOW, FROMHIGH, TOLOW, TOHIGH);
value: 변환에 사용되는 변수
fromLow: 입력 되는 value 최소값 범위 지정
fromHigh: 입력 되는 value 최대값 범위 지정.
toLow: 변환되는 최소 범위
toHigh: 변환되는 최대 범위
아래의 예제는 analogRead(0) 0 번 포트의 값을 가져와서 0~255까지의 비율로 변환 하는 예
제코드입니다. analogRead 함수의 반환값의 범위는 0~1023 입니다.
void setup() {}
void loop()
{
int val = analogRead(0); val = map(val, 0, 1023, 0, 255); analogWrite(9, val);
}
스케치에서 사용되는 map 함수 본체입니다.
long map(long x, long in_min, long in_max, long out_min, long out_max)
{
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
236