본문으로 이동
주 메뉴
주 메뉴
사이드바로 이동
숨기기
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
특수 문서 목록
학교의 모든 지식. SMwiki
검색
검색
보이기
로그인
개인 도구
로그인
로그아웃한 편집자를 위한 문서
더 알아보기
기여
토론
아두이노:블루투스(외장모듈)
편집하기 (부분)
문서
토론
한국어
읽기
편집
원본 편집
역사 보기
도구
도구
사이드바로 이동
숨기기
동작
읽기
편집
원본 편집
역사 보기
일반
여기를 가리키는 문서
가리키는 글의 최근 바뀜
파일 올리기
문서 정보
보이기
사이드바로 이동
숨기기
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
= 사용 모듈 = {| class="wikitable" !모듈명 !종류 !특징 !비고 |- |HC-06 |Bluetooth Classic (Slave Only) |가장 기본적인 외장 BT 모듈, 스마트폰에서 쉽게 페어링 가능 |연결법 {| class="wikitable" !HC-06 핀 !Arduino UNO 핀 !설명 |- |VCC |5V |전원 (모듈에 따라 3.3V도 가능) |- |GND |GND |공통 접지 |- |TXD |D10 (아날로그 핀) |아두이노가 데이터를 수신하는 입력 |- |RXD |D11 (저항분배 필요) |아두이노의 TX → 모듈 RX는 3.3V 권장 |} |- |HC-05 |Bluetooth Classic (Master/Slave) |AT 명령으로 Master 모드 변경 가능, 기능 확장형 | |} UNO의 5V 신호를 바로 HC-06 RX에 넣지 말 것 (손상 가능).(5V 바로 넣을 수 있게 조정된 모듈도 따로 팔긴 함;) ※ UNO의 TX(5V) → HC-06 RX(3.3V) 구간은 2개 저항(1kΩ + 2kΩ)을 이용해 3.3V로 분배하는 것이 안전하다. == SoftwareSerial 예시 코드 == 다음 예시는 스마트폰 앱과 시리얼 문자열을 주고받는 기본 구조이다. 기본적으로 블루투스용 시리얼과 일반 유선 시리얼은 다르게 구성된다. * 일반 시리얼에 입력한 것은 블루투스 시리얼에 나타나 휴대폰에 작성되고, * 휴대폰에서 작성한 것은 일반 시리얼에 나타난다. <syntaxhighlight lang="cpp">#include <SoftwareSerial.h> SoftwareSerial BTSerial(10, 11); // RX, TX String btBuffer = ""; String serialBuffer = ""; unsigned long btLastReadTime = 0; unsigned long serialLastReadTime = 0; const unsigned long timeout = 50; void setup() { Serial.begin(9600); BTSerial.begin(9600); Serial.println("Bluetooth Ready"); } void loop() { // 블루투스 데이터 읽기 (휴대폰 → 컴퓨터) while (BTSerial.available()) { char c = BTSerial.read(); btBuffer += c; btLastReadTime = millis(); } // 블루투스 버퍼 처리 if (btBuffer.length() > 0 && millis() - btLastReadTime > timeout) { Serial.print("from BT: "); Serial.println(btBuffer); // 줄바꿈 추가 btBuffer = ""; } // 시리얼 데이터 읽기 (컴퓨터 → 휴대폰) while (Serial.available()) { char c = Serial.read(); serialBuffer += c; serialLastReadTime = millis(); } // 시리얼 버퍼 처리 if (serialBuffer.length() > 0 && millis() - serialLastReadTime > timeout) { Serial.print("to BT: "); Serial.println(serialBuffer); BTSerial.println(serialBuffer); // 줄바꿈 추가! (중요) serialBuffer = ""; } }</syntaxhighlight> === 유의 === * SoftwareSerial은 고속 전송에 약하므로 9600bps 권장. == 스마트폰 연결 방법 == # 휴대폰 블루투스 설정에서 HC-06 등을 검색. # 기본 비밀번호는 `1234` 또는 `0000`. (페어링이 되진 않는다. 이후 어플에서 진행.) # 시리얼 통신 앱(예: Bluetooth Terminal, Serial Bluetooth 등)을 실행한다. # 페어링된 장치를 선택하여 연결한다. # 텍스트를 보내거나 아두이노 메시지를 확인한다. == AT 명령어 설정 == 모듈 설정 변경(이름, 속도 등)은 AT 명령으로 가능하다. {| class="wikitable" !명령 입력 !기능 |- |AT |응답 확인(OK) |- |AT+NAME=MyBT |블루투스 이름 변경 |- |AT+BAUD4 |보드레이트 9600으로 변경 |- |AT+PIN1234 |비밀번호 변경 |} ※ HC-06은 페어링 상태에서는 AT 명령이 동작하지 않는다. 전원만 연결하고 통신 미연결 상태에서 AT 모드로 접근해야 한다.
요약:
학교의 모든 지식. SMwiki에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
학교의 모든 지식. SMwiki:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
검색
검색
아두이노:블루투스(외장모듈)
편집하기 (부분)
새 주제