본문 바로가기
아두이노_프로세싱/아두이노

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

by 돌돌쌤 2012. 6. 26.

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


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

통신 경로는
아두이노-블루투스(RN42) <---------->블루투스-PC-com포트를 통한 시리얼 통신프로그램으로 결과 확인
pc에서는 아두이노 블루투스 장치를 추가하여 
장치관리자에서 com포트 확인하여 시리얼통신 프로그램으로 확인한다.

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

#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;
}
 ------------------------------------------------------------------------------

작동영상

'아두이노_프로세싱 > 아두이노' 카테고리의 다른 글

아두이노 pro mini소개  (0) 2012.06.26
LCD모듈과 Serial LCD 사용  (1) 2012.06.26
초음파 센서 활용  (0) 2012.06.26
블루투스 모듈(RN-42) 설정  (2) 2012.06.26
soft potentiometer + RGBLED  (0) 2012.06.26