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


초음파모듈로 거리를 측정하여 
블루투스르 통해 다른블루투스 장치로 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

+ Recent posts