정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

브루투스 시리얼.available() 값이 False 인 경우 해결책 문의
쟈스민 | 2017-05-20

초 간단 코드로 블루투스 테스트를 해보려고 합니다.

시리얼 통신이 원활하지 않습니다.

 

RX = 3, TX = 2 포트로 설정하였고

블루투스 시리얼이 available 한지 체크하고, 시리얼이 available 한지 체크하는 프로그램입니다.

(abc 는 그냥 temporary)

 

그런데 둘 다 available 하지 않다고 출력하고 있습니다.

혹지 다른 무언가를 해줘야 하는 것일까요 ?

 

4핀짜리 HC-06 블루투스 입니다.

휴대폰에서 블루투스 잘 잡히고 커넥팅도 잘 됩니다.

그런데 시리얼이 available 하지 않다고 나올 뿐입니다.

 

그래서 !!

기존에 B 보드에 장착해서 잘 사용하던 블루투스를  A 보드에 연결해서 이 프로그램을 돌렸더니 동일합니다.

 

1번 블루투스 > A 보드, B 보드, C 보드 모두 테스트스 동일한 현상

2번 블루투스 > A 보드, C 보드 모두 동일한 현상, B 보드에서는 정상

 

이게 무슨 조화일까요 ㅠ.ㅠ

 

#include <SoftwareSerial.h>  // call library for Serial transfer

int blueTx = 2;  // Tx (set pin for transfer)
int blueRx = 3;  // Rx (set pin for receiver)
SoftwareSerial mySerial(blueTx, blueRx);  // define structure for Serial transfer

int abc=0;

void setup() {
  // put your setup code here, to run once:

    Serial.begin(9600);  // Serial monitor
    mySerial.begin(9600);  // Bluetooth Serial
    
}

void loop() {
  // put your main code here, to run repeatedly:
    abc = abc++;
    
    if ( mySerial.available() ) {
        Serial.write(mySerial.read());  //  put to Serial monitor about Bluetooth contents
    } else { Serial.print(abc); Serial.println(" : Bluetooth serial is not available"); delay(3000);}

    if ( Serial.available() ) {
        mySerial.write(Serial.read());  // write to Bluetooth about Serial monitor contents
    } else { Serial.print(abc); Serial.println(" : Serial is not available"); delay(3000);}
}

 

이전글   |    오렌지보드 BLE 블루투스 음성인식! 2017-05-20
다음글   |    오렌지보드와 채팅하는 안드로이드 소스 질문입니다!... 2017-05-20