아두이노 라인 트레이서 TCRT5000 사용하기

1 minute read

안녕하세요! 다음 프로젝트로 아두이노를 이용하여 ‘라인 트레이서’를 만드려고 합니다. 바닥에 그려진 줄을 따라 움직이는 차를 만드려면, 그려진 줄을 감지할 수 있는 센서가 필요합니다. 줄의 형태나 종류에 따라 다양한 센서를 사용할 수 있습니다. 대표적으로 색을 구분하여 특정 색으로 그려진 줄을 따라갈 수 있는 칼라센서, 자성을 가진 길을 만들었을 경우 극성을 통해 길을 구분하는 마그네틱 센서가 그 예입니다. 저는 흑백을 사용하여 도로를 표현하였기에 이를 잘 구분할 수 있는 TCRT5000을 사용하고자 합니다.

부품 소개

부품 가격 구입처
아두이노 적외선 라인 트레이서 센서/TCRT5000 880원 메가솔루션

TCRT5000

TCRT5000은 적외선을 이용하여 쉽게 흑백을 구분할 수 있는 센서로, 송신기와 수신기로 구성되어 있습니다. 기본적으로 송신기로 적외선을 쏜 이후 바닥에 반사되어 수신기에 돌아온 빛의 양을 측정하는 장치입니다. 수신된 빛의 양을 이용하여 흑백을 구분하는 용도로 사용할 수 있습니다.

줄을 감지하기 위해 아날로그 핀과 디지털 핀 모두 사용할 수 있습니다.

아날로그 핀으로는 측정된 빛의 값이 출력됩니다. 아날로그 측정값의 범위는 40에서 600 사이이며, 반사된 양이 많을수록 작은 값이 출력됩니다. 즉, 흰색에 가까운 색깔의 바닥일수록 측정값이 40에 가깝고, 검은색에 가까운 색깔일수록 측정값이 600에 가깝게 나타납니다.

디지털 핀은 일정 기준을 설정하여 측정 값이 그 이하면 모두 흰색으로, 그 이상이면 모두 검은색으로 인지하여 각각 0과 1을 출력합니다. 이때 그 기준 값은 센서에 부착되어있는 가변저항(그림 속 동그라미)을 조이거나 풀어 조정할 수 있습니다.

센서 스펙

  • 감지범위: 0.2mm ~ 15mm
  • 최적거리: 2.5mm
  • 동작 전압: 3.3V ~ 5V

디지털 핀 사용

코드

#define LINE_DETECTER 10

void setup() {
  Serial.begin(115200);
  pinMode(LINE_DETECTER, INPUT);
}

void loop() {
  int onLine = digitalRead(LINE_DETECTER);
  Serial.println(onLine);
  delay(1000);
}

실험 결과

디지털 핀 사용 결과

아날로그 핀 사용

코드

#define LINE_DETECTER A0

void setup() {
  Serial.begin(115200);
  pinMode(LINE_DETECTER, INPUT);
}

void loop() {
   int onLine = analogRead(LINE_DETECTER);
   Serial.println(onLine);
   delay(100);
}

실험 결과

아날로그 핀 사용 결과