2014년 2월 9일 일요일

초음파 거리측정(NT-TS601) - 블루투스를 이용한 자동차 키트 + 안드로이드 컨트롤러


---------------------------------------------------------------------------------

초음파 거리 측정센서 NT-TS601 입니다.
NT-TS601 - 초음파 거리 측정센서
NT-NS601 메뉴얼.pdf

이렇게 생겼구요. 원리는 간단합니다. 사진에는 안 나와있지만 T와 R이라고 크게 적혀있습니다. Transport와 Receive인데요 초음파를 발생시키고, 받아서 그 거리를 측정하는 것입니다. 그래서 초음파센서의 정면으로 정확히 반사가 되는 곳 어지간해서는 측정이되고 정확히 비교는 안해봤지만 얼추 거리가 잘 측정되는 것을 실험하여 알아내었습니다.

메뉴얼에 따르면 단자는 이렇게 구성 되어 있습니다.
VCC는 5V를 사용하며 (메뉴얼에서는 저항을 같이 연결하라고 나와있지만 저는 연결하지 않았습니다.)
Signal단자에서는 PWM형태로 저는 PWM부분의 8번
GND는 GND로 연결하였습니다.

모든 것은 메뉴얼에 자세히 설명이 되어있습니다.

특이사항으로는 오차가 2cm이며 측정범위는 2cm~3.3m이고 3.3m초과시 3.3m로 표시됩니다.

아두이노 코드는 아래와 같습니다.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#define sonicPin 8
.....
long cmtomicro(long a){
  return a/29/2;
}
long inchtomicro(long b){
  return b/74/2;
}

//측정된 시간을 inch와 cm로변경

void setup() {
  Serial.begin(9600);//시리얼포트 시작
  pinMode(sonicPin, OUTPUT);
  digitalWrite(sonicPin, HIGH);// 소닉핀 초기화
}

void loop(){
    digitalWrite(sonicPin,LOW);
    delayMicroseconds(2);
    digitalWrite(sonicPin,HIGH);
    delayMicroseconds(5);
    digitalWrite(sonicPin,LOW);
    pinMode(sonicPin, INPUT);

    sonicval = pulseIn(sonicPin,HIGH); // 초음파가 반사하여 되돌아온 시간을 저장

    pinMode(sonicPin, OUTPUT);

    cm = cmtomicro(sonicval); // cm거리계산
    inch = inchtomicro(sonicval); //inch거리계산
}


첫줄이 초음파 거리 센서를 이용한 결과 값입니다. 2번째 출력은 최대 거리 측정인데요 메뉴얼과 같이 3.3m가 최고치더군요 그 이상도 3.3m로 측정되고요.

결과들이 제대로 출력되는 것을 알수 있었습니다.

댓글 없음:

댓글 쓰기