?>

Hard Copy World

HCW

Q&A

Home > Forum >

Q&A

질문 | 블루투스 송수신 관련하여 질문입니다.

페이지 정보

작성자 망고 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일16-11-15 20:44 조회1,017회 댓글3건

본문

안녕하세요 

저는 hc-06모듈을 마스터, 슬레이브로 설정해서 1:1 송수신을 하고 있습니다.

그런데 제가 송신할때

void loop(){

Serial.write(greenLed);

Serial.write(redLed);

Serial.write(yellowLed); 

위의 코드처럼 하나의 아두이노에서는 블루투스 모듈을 이용해서 여러가지 변수에 있는 값을 계속 보내고

다른 아두이노에서는 블루튜스모듈을 이용해서 계속 받으려합니다.

 

 

해보면,,,,, 송신(문자열로 보냅니다)은 잘되는데(아두이노 보드에 tx에 불이 켜지고)

수신이 안 됩니다.(수신용 아두이노 보드에서 rx에 불이 켜지지 않습니다.

 

 

무언가 방법이 있을까요??

댓글목록

최고관리자님의 댓글

최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일

수신측에서 아래처럼 데이터를 받고 있나요?
loop() {
  if(Serial.available()) {
    char c = sSerial.read();
    if(c == 'a') {  // 데이터가 들어오면
      // 뭔가 처리하기
    }
  }
}

코드 확인하고 이상이 없으면 TX, RX 핀이 제대로 연결 되었는지 확인해야 합니다. 그리고 블루투스 모듈이 서로 잘 연결 되었는지 체크하세요. 특히 두 모듈이 제대로 페어링 되었는지 확인해야 합니다.

망고님의 댓글

망고 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글의 댓글 작성일

페어링은 잘 되고 있습니다.
...
SoftwareSerial bluetooth (4,5)//rx,tx
...
if(bluetooth.available()){
  char c = bluetooth.read()
}//로 자료를 수신하고
if(c=='a'){
//처리
}
if(c=='b'){
//처리
}
if(c=='c'-{
//처리
}
...
이런식으로 전송받은 문자열에 따라 처리하도록 코드를 작성했습니다.

아 특이사항으로 데이터 수신받는 아두이노에서 Serial 모니터를 보면 문자열이 전송되는 속도가 매우 늦습니다. (0.5초 하나씩 전송된는 듯 합니다.)
그리고 전송하는 문자열 모두가 전송되지는 않습니다.

망고님의 댓글

망고 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글의 댓글 작성일

제가 표현력이 부족해서 ... 보다 정확한 이해를 위해서 조만간 추가로 사진을 (된다면 Serial 모니터 값 동영상)을 올리도록 하겠습니다.