PC <-> 블루투스 <-> 아두이노 연결문제
현재 도어락 제어 프로토콜(줄 끝 개행 \n)
- PC -> 아두이노
OPEN(개방지시)
STATUS?(현재상태질문)
PING(연결확인)
- 아두이노 -> PC
OPEND or CLOSED(실제 도어락 동작 완료)
SENSOR OPENED or SENSOR CLOSED(리드 스위치 변화)
STATE OPEN or STATE CLOSED or STATE MOVING(STATUS? 에 대한 응답)
PONG(PING에 대한 응답)
> 도어락 개방상태를 클라이언트(홈패드)에 업데이트하기 위해서는 실제 도어락의 물리적 변화를 프로그램이 알고 클라이언트에게 넘겨줘야 하는 과정이 필요함
> PC가 보낸 명령 중 OPEN을 통해 도어락은 잘 열리는 걸로 보아 PC->블루투스->아두이노는 잘되는 걸 확인 가능, 하지만 STATUS?로 상태를 물었을 때 아두이노->블루투스->PC 로 제대로 돌아오지 않는 문제가 발생함. 왜 일까?
이유?
구체적인 이유를 보면
PC->블루투스->아두이노 경우
블루투스 모듈 중 TX(출력)이 아두이노 RX(입력)을 하는 경우 블루투스는 보통 3.3V 전용이기 때문에 블루투스 TX에서 3.3V를 내보내는데, 아두이노는 3.3V도 HIGH로 잘 읽을 수 있기 때문에 PC에서 아두이노 쪽으로는 문제가 없음
아두이노->블루투스->PC 경우
아두이노 TX(출력)은 5V를 내보내는데, 블루투스 RX(입력)은 3.3V를 기대하므로 5V 신호가 직접 들어가게 되면 문제가 생길 수 밖에 없었다 !
해결방법
1. 저항 및 점퍼사용(D6, D7과 같은 디지털 포트를 직접 사용해야 한다면)
: 아두이노 TX -> 1kΩ-2kΩ-GND -> 블루투스 RX
> 레벨변환하여 사용
> 블루투스 TX -> 아두이노 RX(D7)은 직결 가능
2. BT 전용 소켓 사용
: 보드에 5V / GND / TX / RX 의 4핀 헤더를 사용(오른쪽 아래)
> 레벨 시프팅(분압/IC)가 내장되어 있으므로 저항없이 사용가능

올인원쉴드는 모터도 지원하고 BT도 지원한다
말 그대로 올인원이다
BT 전용 소켓을 모르고 쓸데없는 짓을 많이했다
화가난다
'LMS 7 > 개발일지' 카테고리의 다른 글
| 25.09.11 / 제60회 전국기능경기대회 전시 작품 제작 프로젝트 2팀(안전/보안) / 7일차 (0) | 2025.11.04 |
|---|---|
| 25.09.10 / 제60회 전국기능경기대회 전시 작품 제작 프로젝트 2팀(안전/보안) / 6일차 (0) | 2025.11.04 |
| 25.09.08 / 제60회 전국기능경기대회 전시 작품 제작 프로젝트 2팀(안전/보안) / 4일차 (0) | 2025.11.04 |
| 25.09.05 / 제60회 전국기능경기대회 전시 작품 제작 프로젝트 2팀(안전/보안) / 3일차 (1) | 2025.11.04 |
| 25.08.13 / QT6 개인 프로젝트 1 (4) | 2025.08.13 |