2012년 6월 24일 일요일

블루투스 장치를 이용한 초음파측정값 전송


이전글중 블루투스 장치 설정과
초음파센서 활용 글을 참고 


초음파모듈로 거리를 측정하여 
블루투스르 통해 다른블루투스 장치로 data전송하자
여기서 다른 블루투스장치는 PC다.

소스 스케치
-------------------------------------------------------------------------------------
/* 블루투스 장치를 이용한 초음파측정값 전송*/

#include <SoftwareSerial.h>   //아두이노 우노에서 시리얼 통신은 기본으로 0번과 1번을 쓴다.
                                        // 이 포트를 중복해서 사용하지 않고 다른 포트를 사용하기 위해서는
                                        // 아두이노에서 제공하는 라이브러리 SoftwareSerial을 사용하면 된다.
SoftwareSerial BTserial(2,3);  // BTserial이라는 이름의 통신장치로 2(TX), 3(RX)포트로 시리얼 통신한는 설정
int sonicPin = 8;   // 초음파센서핀
long sonicval = 0;
long cm, inch;
void setup(){
  BTserial.begin(115200);   // 통신모듈의 baudrate값을 써 통신을 시작
}
void loop(){
  pinMode(sonicPin, OUTPUT);
  digitalWrite(sonicPin,LOW);
  delayMicroseconds(2);
  digitalWrite(sonicPin,HIGH);
  delayMicroseconds(5);
  digitalWrite(sonicPin,LOW);
  pinMode(sonicPin, INPUT);

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

  cm = cmtomicro(sonicval);  // cm거리계산
  inch = inchtomicro(sonicval);  //inch거리계산
  BTserial.print(cm);
  BTserial.print("cm  ");
  BTserial.print(inch);
  BTserial.println("inch");  // 블루투스를 통해 다른 장치에 출력
  delay(1000);

}
long cmtomicro(long a){
  return a/29/2;
}
long inchtomicro(long b){
  return b/74/2;
}
 ------------------------------------------------------------------------------

작동영상

댓글 없음:

댓글 쓰기