정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

초음파 센서를 시험하는중인데,…
이정우 | 2016-03-07

초음파센서로 거리를 측정하여, 결과를 cm 단위로 LCD에 출력하는 스케치입니다.

첫 작동에서, 근거리에 대상물이 있는 조건에서는 잘 동작합니다.

그러나 측정 범위를 벗어나는 순간, 측정거리는 “0” 으로 표기되며,

이 후로는 다시 물체 앞에 놓아도, 거리는 측정되지 않고, “0”으로만 표기됩니다.

Reset 버튼을 눌러도 안되며, 전원을 off/on 한 후에야 다시 작동합니다.

 

어느 초음파 센서나 다 그런 것인지, 내가 사용하는 초음파 센서(HC-SR04)의 특징인지,

아니면 어느 부분의 작동이 멈춰서인지 모르겠습니다.

스케치는 쉽게 얻을 수 있는 것들을 편집한 것이기 때문에 별 문제가 없을 듯 합니다.

 

<스케치 소스>

#include <LiquidCrystal.h>
LiquidCrystal lcd(4, 5, 6, 7, 8, 9);
int trig = 11;
int echo = 12;

void setup() {
  lcd.begin(16, 2);
  lcd.clear(); 
  pinMode(trig, OUTPUT);
  pinMode(echo, INPUT);
}

int getDistance() {
  int distance;
  unsigned long pulseduration = 0;

  digitalWrite(trig, LOW);
  delayMicroseconds(5);
  digitalWrite(trig, HIGH);
  delayMicroseconds(10);
  digitalWrite(trig, LOW);

  pulseduration = pulseIn(echo, HIGH);
  pulseduration = pulseduration/2;
  distance = int(pulseduration/29);
  return distance;
}

void loop() {
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Distance: ");
  lcd.print(getDistance());
  lcd.print(" cm");
 
  delay(500);
}

프로필사진

수박쨈 2016-03-07 16:16:12

한번 작동이 되다가 다시 물체를 빼고 다시 측정을 했을때 작동이 안되는 그런 경우는 없습니다.

위 코드로 초음파 부분만 뜯어서 해봤는데 저희가 가지고 있는 초음파 센서에서는 작동이 잘 되는것을 확인했습니다.

 

먼저 초음파만 가지고 작동이 잘 되는지 확인을 먼저 해보시는것이 좋을 듯 합니다.

작동이 잘 된다면 LCD와 연결하였을 때 전력이 약해서 초음파가 제대로 동작하지 않을 가능성도 있습니다.

아두이노 RC카 제작할때 흔히 일어나는 현상이기도 합니다.

 

한마디 덧붙이면 초음파 코드 아래 부분에서 5가 아닌 2를 넣어주시는게 좋습니다.

 digitalWrite(trig, LOW);
  delayMicroseconds(5);
  digitalWrite(trig, HIGH);
  delayMicroseconds(10);

 

 

 

프로필사진

이정우 2016-03-07 17:38:14

조언에 감사합니다.

LCD를 떼어내고 '시리얼 모니터'로 관찰을 했는데도 증상은 나아지지 않았습니다.

아무래도 센서에 문제가 있는 듯 합니다.

 

감사합니다.

프로필사진

수박쨈 2016-03-07 17:58:40

초음파센서만 썼는데도 문제가 있다면 초음파센서에 문제가 있다고 볼 수 있습니다.

혹시나 해서 하는 부가적인 말이지만 긴 빵판을 사용할 때, 가끔씩 길게 전류가 흐르지 않는 경우가 있어서(제 빵판에만 그런 문제가 있는지는 모르겠습니다;;) 작은 빵판이 있다면 그걸로도 한번 사용해보세요.

프로필사진

이정우 2016-03-07 21:50:28

센서를 직접 아두이노판에 연결해보았어도 별 진전이 없습니다.

 

감사합니다.

프로필사진

이정우 2016-03-09 09:42:20

센서를 새로 구입해 시험해 보니, 잘 됩니다. 앞의 것이 잘 못된 것 같습니다.

이전글   |    led cube 4x4x4 질문입니다 2016-03-04
다음글   |    예제중에 초음파 센서로 거리 측정하기를 하는데... 2016-03-08