자율주행 자동차에 라인 트레이싱 기능을 추가할 생각으로 라인 트레이서 센서를 구매했습니다.


위의 제품입니다.


판매처가 제공하는 스펙은 다음과 같습니다.


Module features:
Using infrared reflection sensors TCRT5000
Test reflection distance: 1mm to 25mm
Clean and 3, the comparator output, signal waveform,
driving ability is strong, for more than 15 ma.
With many adjustable precision potentiometer to adjust sensitivity
The working voltage of 3.3V to 5V
Output form: digital switch output (0 and 1)
Has a fixed bolt hole, convenient installation
Small board PCB size: 3.2cm x 1.4cm
The LM393, use of wide voltage comparator
Size:3.1x1.3cm(approx)


인식 거리는 25mm

가변저항으로 센서의 민감도 조정

3.3V~5V

아웃풋이 디지털(0/1)이라고 하네요. 근데 왜 아날로그 핀이 있는건지는 잘 모르겠다는... 해당 부분에 대한 테스트가 필요해보입니다.

일반적으로는 3핀인 것 같습니다. fritzing에서도 3핀 모듈 모양만 있네요.


여러가지로 테스트 해보겠습니다.


준비물

1) 라인 트레이서 센서

2) 아두이노 우노 호환 보드(저는 아두이노 나노를 사용)

3) 점퍼 등


작업 순서

1) 회로도 작성

2) 회로도에 따라 연결

3) 디지털 출력값 테스트

4) 아날로그 출력값 테스트

5) 검정색 라인 감지 테스트


1. 회로도 작성


아두이노 나노 - 라인 트레이서 센서

GND             - GND

5V                - VCC

D3                - OUT(제 4핀 모듈에는 D0으로 표시되어 있습니다)

A3                - A0


위와 같이 연결하기로 합니다. 아날로그 테스트 때는 A3에 A0을 연결해 보겠습니다.


2. 회로도에 따라 연결


이와 같이 연결했습니다.


3. 디지털 출력값 테스트

4. 아날로그 출력값 테스트


하는 김에 한꺼번에 테스트하는 예제로 만들었습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int LINE_D = 3// Digital 3번핀
int LINE_A = A3; // Analog 3번핀
 
void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  Serial.println(F("setup() START"));
  
  pinMode(LINE_D, INPUT); // D3핀 모드를 input으로
}
 
void loop() {
  // put your main code here, to run repeatedly:
  delay(100);
 
  int val = digitalRead(LINE_D); // 물체가 감지되면 LOW, 감지되지 않으면 HIGH
  Serial.print(F("SENSOR(DIGITAL)= ")); Serial.println(val);
 
  int val2 = analogRead(LINE_A);
  Serial.print(F("SENSOR(ANALOG)= ")); Serial.println(val2);
 
  delay(1000);
}
cs


바닥에서 거리가 좀 있을 때 입니다.



센서에 물체가 감지되지 않을 경우 HIGH 신호가 들어옵니다.

아날로그로는 물체와의 거리에 따라 0~1023 사이의 값이 들어오는 것을 보입니다.

처음에는 15mm 정도까지 밖에 감지를 못했는데 가변저항을 이용해 민감도를 조정해주니 25mm 정도 떨이진 물체도 감지가 됩니다.



감지되면 초록불이 들어오네요.



센서의 값은 위와 같습니다.


5. 검정색 라인 감지 테스트


라인 트레이서 센서는 적외선을 쏘아서 그것이 물체에 반사되어 돌아오는 것을 이용한 센서입니다. 따라서 검정색에서는 적외선이 흡수되므로 물체를 인식하지 못하게 됩니다.

라인 트레이서라고는 하지만 사실은 검정색 라인은 인식하지 못하는 거죠.

아무튼 실제로 검정색 라인을 인식하지 못하는지 테스트 해보도록 하겠습니다.


간단히 해보려고 연습장에 네임펜으로 검정색 라인을 그려준 후 테스트 해보았습니다.

안되네요...


혹시나 싶어서 검정색 라인이 그려진 이미지를 출력해서 해보았습니다.

네 잘 됩니다. 같은 거리지만 흰색에서는 물체를 인식해서 초록색 불이 들어오지만, 검정색 라인 위로 옮기면 인식하지 못하고 불이 꺼지는 걸 확인할 수 있습니다.


다음에는 동일한 센서를 하나 더 사용해서 라인을 쫓아가는 테스트를 해보도록 하겠습니다.

+ Recent posts