초음파 모듈을 이용하여
거리를 측정해보자.
사용한 초음파 모듈은
이다.
핀이 3개로 SIG,VCC,GND다
SIG로 아두이노의 디지털 포트를 연결
출력과 입력을 교대로 받는다.
즉 초음파 신호를 보내고 반사되어 되돌아 오는 초음파를 입력 받는다.
그 시간 차이를 이용하면 거리를 계산할 수 있다.
소스 스케치
-----------------------------------------------------------------------------------
/* 초음파센서를 이용한 거리 측정*/
int ulPin=9; //초음파 SIG연결 핀
void setup(){
Serial.begin(9600); //컴퓨터화면에 data값을 확인할 수 있도록 시리얼 통신 설정
}
Serial.begin(9600); //컴퓨터화면에 data값을 확인할 수 있도록 시리얼 통신 설정
}
void loop(){
pinMode(ulPin,OUTPUT); //초음파센서를 출력으로 설정
digitalWrite(ulPin, LOW); // 신호를 끄고 (2마이크로 초동안)
delayMicroseconds(2);
digitalWrite(ulPin, HIGH); //초음파 신호를 보낸다(5마이크로 초동안)
delayMicroseconds(5);
digitalWrite(ulPin, LOW); // 신호를 끈다.
pinMode(ulPin,OUTPUT); //초음파센서를 출력으로 설정
digitalWrite(ulPin, LOW); // 신호를 끄고 (2마이크로 초동안)
delayMicroseconds(2);
digitalWrite(ulPin, HIGH); //초음파 신호를 보낸다(5마이크로 초동안)
delayMicroseconds(5);
digitalWrite(ulPin, LOW); // 신호를 끈다.
pinMode(ulPin, INPUT); // 초음파센서를 입력으로 설정
long duration = pulseIn(ulPin,HIGH);
// 초음파센서에 반사되어 돌아온 초음파가 측정될 시간을 저장(마이크로초 단위)
long cm = mtocm(duration); // cm거리 계산 함수
long inch = mtoinch(duration); //inch거리 계산 함수
long inch = mtoinch(duration); //inch거리 계산 함수
Serial.print(cm);
Serial.print("cm ");
Serial.print(inch);
Serial.print("inch ");
Serial.println();
delay(500);
}
Serial.print("cm ");
Serial.print(inch);
Serial.print("inch ");
Serial.println();
delay(500);
}
long mtocm(long a){
return a/29/2; //초음파는 1초에 340m이동한다. 즉 1000000마이크로 초에 34000cm를 이동한다.
return a/29/2; //초음파는 1초에 340m이동한다. 즉 1000000마이크로 초에 34000cm를 이동한다.
//따라서 cm거리는 시간x속력으로 a는 왕복시간이므로 (a/2)x34000/1000000이다.
}
}
long mtoinch(long b){
return b/74/2; // 1000000마이크로 초동안 대략 13386inch를 이동하므로
return b/74/2; // 1000000마이크로 초동안 대략 13386inch를 이동하므로
// inch거리는 시간x속력으로 b는 왕복시간이므로 (b/2)x13386/1000000이다.
}
}
/* pulseIn(ulPin,HIGH)은
ulPin이 HIGH값을 입력받을때까지의 시간을 마이크로초단위로 읽어온다. */
--------------------------------------------------------------------------------------------
작동 영상은 시리얼LCD에 출력하는 영상이다.
'아두이노_프로세싱 > 아두이노' 카테고리의 다른 글
LCD모듈과 Serial LCD 사용 (1) | 2012.06.26 |
---|---|
블루투스 장치를 이용한 초음파측정값 전송 (0) | 2012.06.26 |
블루투스 모듈(RN-42) 설정 (2) | 2012.06.26 |
soft potentiometer + RGBLED (0) | 2012.06.26 |
RGB LED (0) | 2012.06.26 |