초음파 센서 - 거리측정

2018. 12. 21. 11:46

초음파 센서란?


 우선 초음파란 사람의 귀로는 들을 없는 20khz 이상의 음을 말합니다. 초음파 센서는 이러한 초음파를 이용하여 가까운 거리에 있는 물체 혹은 사람의 , 거리측정, 속도 측정등에 사용 됩니다.


[그림 1 - 1] 초음파센서 - 출저:메카솔루션


 초음파 센서는 초음파를 발생시켜 되돌아 오는 시간을 측정해 물체의 속도 거리를 계산 있으며 초음파를 발생시키는 Trig , 물체에 반사되어 되돌아 오는 초음파를 받는 Echo, GND, VCC 구성 되어 있습니다.


[그림 1-2] 초음파센서 원리


*거리구하는 공식 
거리는 시간*속력 이므로 Echo HIGH Level 유지한 시간 t 초음파의 속력 ( 344m/s) 곱하고 거리를 왕복했으므로 2나눔
Distan = (
걸린시간(t) x 음속(m/s) ) / 2






Arduino sketches

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
33
34
35
36
37
38
int echo = 2;
int trig = 3;
int led = 4;
float cm = 0;
int duration = 0;
 
void setup()
{
  Serial.begin(9600);
  pinMode(echo, INPUT);
  pinMode(trig, OUTPUT);
  pinMode(led, OUTPUT);
}
//led와 trig는 OUTPUT 모드로 설정해 주며 
//echo는 우리가 HIGH 또는 LOW를 설정해 주는 것이 아니라, 
//읽어 오는 것 이기 때문에 INPUT으로 설정한다.
 
void loop()
{
  digitalWrite(trig,HIGH);
  delay(10);
  digitalWrite(trig,LOW);
 
  duration = pulseIn(echo,HIGH);  
// pulseIn() 메서드는 첫 번째 인자의 펄스가 두번째 인자인 레벨을 유지한 시간을 반환한다.
 
  cm = ( (float)(344*duration) / 10000 ) / 2;
 
  if(cm <= 3)
  {
    digitalWrite(led,HIGH);
  }
  else
  {
    digitalWrite(led,LOW);
  }  
//거리가 3센치 이하면 LED를 점등하고 아니면 소등 한다.
}
cs


'embedded > arduino' 카테고리의 다른 글

서보모터 - 버튼으로 서보모터 각도 제어  (1) 2018.12.21
Shield 와 Module  (0) 2018.12.21
이더넷 쉴드(Ethernet Shield)  (0) 2018.12.21

BELATED ARTICLES

more