?>

Hard Copy World

HCW

Q&A

Home > Forum >

Q&A

아두이노 HC-05 블루루스 사용

페이지 정보

작성자 암스트롱 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일15-11-30 15:02 조회2,026회 댓글3건

본문

최근 아두이노를 통해 블루투스 사용에 관하여 궁금한점이 있어 문의드립니다.

현재 저는 무선전력전송에 관련 피드백 제어를 위해 블루투스를 사용하고 있습니다.

제가 사용하고 블루투스의 경우 두개의 아두이노 상호 통신간에 약 20ms 정도의 차이를 가지고 있습니다.

이를 더 줄여보기 위해 baudrate를 올렸는데 software.Serial이 최대가 115200bps인걸로 알고 있습니다.

그래서 기본 Serial을 통해 baudrate를 더 올려서 사용하고자 하는데 기본 Serial 통신으로는 통신이 되지않더라구요.

결론적으로 제가 묻고 싶은 것은 Serial 과 software.Serial 은 어떤 차이가 있는 것인지 혹은 아두이노 상호간 통신 시간을 줄일 수 있는 방법이 있는가(즉, polling time 을 줄일 수 있는가?) 입니다.

빠르게 답변해주시면 감사하겠습니다. 좋은하루 되세요~! ^^

댓글목록

최고관리자님의 댓글

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

Serial 클래스의 함수는 사용하는 것은 하드웨어 시리얼이고, 소프트웨어 시리얼은 SoftwareSerial 클래스(라이브러리)를 이용합니다. 하드웨어 시리얼이 하는 데이터 송수신 작업(시리얼 전송, 수신)을 소프트웨어적으로 처리해줍니다. SoftwareSerial을 사용할 경우 말씀하신대로 송수신 속도에 제약이 있고, 8MHz로 동작하는 경우 57600bps가 최대 속도일겁니다.
송수신 속도를 빠르게 하는 방법은... 보다 높은 baudrate를 사용하고 아두이노에서 Serial(또는 SoftwareSerial) 데이터가 있는지 빠르게 체크해서 가져오는 방법밖에는 없지 않나 싶습니다. 아두이노가 다른 작업을 하느라 serial 데이터 체크가 늦어지지 않도록 코딩을 하는 것 외에는 딱히 떠오르는 방법이 없네요;;;

암스트롱님의 댓글

암스트롱 이름으로 검색 댓글의 댓글 작성일

하드웨어 시리얼이라는 것이 아두이노 내부에서만 통신을 한다는 의미인가요??
제가 하드웨어 시리얼을 통해 블루투스 송수신을 한 경우 상호간 데이터 송수신이 안되는 것 같더라구요.
오실로스코프로 파형을 찍었을경우 TX핀에서 신호가 출력이 되는건 확인을 할 수 있었는데 블루투스 모듈을 연결한 경우는 송수신이 안되는것 같더라구요

최고관리자님의 댓글

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

시리얼 통신 관련해서는 아래 글에서 UART 부분을 보시면 될 것 같습니다. 병렬->직렬 신호 변환을 해주는 회로를 이용하는 것이 하드웨어 시리얼입니다.
http://www.hardcopyworld.com/gnuboard5/bbs/board.php?bo_table=tech_comm&wr_id=78
앞선 답변에서 잘못 적은거 같은데... SoftwareSerial을 사용하면 통신속도가 더 낮았던거 같아요. 아마도 19600bps 인가.. 기억이 가물하네요.
TX핀은 정상 동작하고 RX 핀으로 들어오는 데이터가 없다면.. 블루투스 모듈로 AT 커맨드를 날려 응답을 보내도록 한번 해보세요. TX/RX 핀만 제대로 연결해도 응답이 와야 정상인데...