#3 아두이노 초음파 센서 사용해보기
초음파센서
왼쪽 T 에서 나간 초음파의 반사를 오른쪽 R에서 수신하여 거리를 판단합니다.
따라서 너무 초음파를 반사하기에 너무 작거나, 흡수하는 재질일 경우 오차가 발생한다.
- 스펙 -
동작전압 DC 5V
동작전류 15mA
동작 주파수 40Hz
발생 주파수 40kHz
측정 거리 2cm ~ 400cm
정밀도 0.3cm
측정 각도 15도
크기 45x20x15mm
- 핀 정보 -
Vcc : 전원 공급
Trig : 초음파 발신
Echo : 초음파 수신
Gnd : 접지 (선 연결)
- 초음파 센서의 원리 -
Trig핀에서 특정 파형을 만들고, 일정 파형을 만들면 Echo핀이 High 상태로 변경됩니다.
이때 초음파를 감지하게되면 다시 Low상태로 변합니다. 이 사이의 시간으로 값을 측정합니다.
이 측정 값을 계산하는 식을 아두이노 코드로 만들면 원하는 단위로 센서값을 출력할 수 있습니다
기본 연결
실제
스크래치 코드
void setup()
{
Serial.begin(9600);
pinMode(2,OUTPUT); // 센서 Trig 핀
pinMode(3,INPUT); // 센서 Echo 핀
}
void loop()
{
long duration, cm;
digitalWrite(2,HIGH); // 센서에 Trig 신호 입력
delayMicroseconds(10); // 10us 정도 유지
digitalWrite(2,LOW); // Trig 신호 off
duration = pulseIn(3,HIGH); // Echo pin: HIGH->Low 간격을 측정
cm = microsecondsToCentimeters(duration); // 거리(cm)로 변환
Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(300); // 0.3초 대기 후 다시 측정
}
long microsecondsToInches(long microseconds)
{
return microseconds / 74 / 2;
}
long microsecondsToCentimeters(long microseconds)
{
return microseconds / 29 / 2;
}
|
동작결과
시리얼 모니터로 결과를 확인해 보면 다음과 같다.
잘못된 사용예
사선일 경우 오차 발생
대상이 너무 작을 경우 오차 발생
참고
http://makeshare.org/bbs/board.php?bo_table=arduinosensor&wr_id=2
No comments:
Post a Comment