적외선 송수신기를 사용하여 센서와 바닥 사이의 높이를 측정한다.
적외선은 밝은 면에서는 반사가 잘되어 반사되는 값이 거의 그대로 들어오고 검은 면에서는 적외선이 흡수가 되어 반사되는 값이 적어진다.
청소기는 기본적으로 바닥에 놓았을 때 센서와 바닥 사이는 2cm이다.
2cm위치에서 ADC를 사용하여 밝은 공책 면을 측정하면 0.17, 검은색 커버가 있는 책을 사용하여 측정하면 2.37이 측정된다.
4cm와 8cm를 측정한 결과 밝은 책(0.17~1337~2.93), 검은색 책(2.37~2.98~3.15)가 측정되었다.
구해야 하는 문제는 2cm에서 청소기가 작동하다가 4cm가 넘는 낭떠러지를 감지했을 때이다. 구해야 할 부분은 먼저 최대/최소값에서 측정값에 따라 변화하는 비율이 같은지 확인이 필요하다.
먼저 선형 보간을 사용하여 0.17~2.37의 범위에서 4cm-2cm 사이의 차을 통해 비율이 맞는지 확인한다.
공식은 Y=Y0+(Y1-Y0)((X-X0)/(X1-X0))이다. (최대/최소를 통해 값 추출 ==> X0=0.17,X1=2.37,Y0=1.2,Y1=0.61)
기존에 1.27의 출력값을 얻었고 차이는 0.89였다.
공식과 x,y 값을 대입하면 0.903이 나오며 0.89와 큰 오차가 나지 않는다.
Y=1.2+(0.61-1.2)*((1.27-0.14)/(2.37-0.17)) => 0.903(0.89)
좀더 측정값이 있으면 대입을 통해 값이 선형인지 비선형인지 확인을 하 수 있다.
이 측정을 통해 바닥면에 따라 적외선 센서가 낭떠러지를 인식하는 기준을 구했다.
이 결과를 통해 바닥 면이 안바뀌는 조건하에 처음 측정된 값을 기준으로 어느 면에서든 4cm의 낭떠러지를 찾을 수 있다.
(추가적인 수정 필요)