===== 스케일 변환 =====
==== Scale ====
''result = Scale(input, inmin, inmax, outmin, outmax)''
입력값을 지정한 범위에서 다른 범위로 선형 변환합니다.
result = (input - inmin) * (outmax - outmin) / (inmax - inmin) + outmin
Dim adc As Integer
Dim PwmOut As Integer
Do
adc = Adin(0)
PwmOut = Scale(adc, 0, 4095, 0, 10000)
Pwm 12, 1000, PwmOut
Loop
* 센서값, A/D 입력값, PWM 출력값 등의 범위 변환에 사용됩니다.
* ''inmax''와 ''inmin''이 같으면 계산할 수 없습니다.
* 입력값이 범위를 벗어나면 결과값도 범위를 벗어날 수 있습니다.
===== 값 제한 =====
==== Limit ====
''value = Limit(value, min, max)''
입력값을 지정한 최소값과 최대값 범위 내로 제한합니다.
* ''value'' 가 ''min'' 보다 작으면 ''min'' 을 반환합니다.
* ''value'' 가 ''max'' 보다 크면 ''max'' 를 반환합니다.
* 범위 내 값이면 원래 값을 그대로 반환합니다.
아날로그 값 처리, PWM 출력 제한, 속도 제한 등에 유용하게 사용할 수 있습니다.
Dim speed As Integer
speed = 120
speed = Limit(speed, 0, 100)
Debug speed, Cr ' 결과 : 100
Dim pwm As Integer
pwm = adcValue / 4
Pwm 0, Limit(pwm, 0, 1023)
> ''Limit()'' 는 Integer, Long, Float 등 숫자형 변수에 사용할 수 있습니다.
[[..:index|← CUBLOC2 목차로 돌아가기]]