스케일 변환

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 출력값 등의 범위 변환에 사용됩니다.
  • inmaxinmin이 같으면 계산할 수 없습니다.
  • 입력값이 범위를 벗어나면 결과값도 범위를 벗어날 수 있습니다.

값 제한

Limit

value = Limit(value, min, max)

입력값을 지정한 최소값과 최대값 범위 내로 제한합니다.

  • valuemin 보다 작으면 min 을 반환합니다.
  • valuemax 보다 크면 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 등 숫자형 변수에 사용할 수 있습니다.

← CUBLOC2 목차로 돌아가기