1. HC-06 블루투스 슬레이브 모듈
모 카페에서 공구로 저렴하게 HC-06 모듈을 구해서 테스트 해봤습니다. 연결도 간단하고 사용도 쉽고 무선이라 편리한 점이 많네요. 특히 안드로이드 앱만 좀 다룰 줄 알면 다양한 응용이 가능해서 좋습니다. 테스트하면서 사용한 아두이노 연결법과 코드, 안드로이드 소스코드 공유합니다. 제작하는데 참고하세요.
2. 연결방법
제원은 다음과 같습니다.
– EDR 블루투스 2.0, 2Mbps – 3Mbps 변조
– 2.4GHz 안테나 내장
– 외부 8Mbit FLASH
– 3.3V 저전압 동작
– 옵션 PIO 제어
– 표준 HCI 포트 (UART)
– SMD 배치 프로세스로 모듈
– RoHS 규제 절차
– 디지털 2.4GHz 무선 송신
– CSR BC04 블루투스 칩 기술
– 크기 (27mm × 13mm × 2mm)
– 블루투스 클래스 2 전력 레벨
– 보관 온도 : -40 +85도, 작동 온도 : -25으로 75도
전 HC-06 슬레이브 모듈이 백보드와 결합된 버전을 구입했습니다. 위 그림처럼 생겼는데 WAKEUP, STATE 핀까지 총 6개의 핀이 있습니다만 동작하는데는 그림처럼 4개 핀만 사용하면 됩니다.
VCC -> 3.3V, GND -> GND 연결하고 TX, RX 핀은 아두이노 D2, D3에 연결 했습니다. (HC-06 모듈은 3.3V, 베이스보드에 납땜된 모듈은 5V를 공급해야 한다고 하네요. 전 그냥 3.3V에 해서 동작 됐습니다.).
블루투스와의 통신을 위해 SoftwareSerial 라이브러리를 사용하는데 라이브러리가 Interrupt pin을 사용하도록 되어있다고 합니다. 인터럽트 핀은 UNO 기준 D2, D3 핀 입니다.
3. 동작방법
모듈이 정확하게 연결이 되었다면 아두이노에 전원을 넣었을 때 HC-06 모듈의 LED가 깜빡거릴 겁니다. 마스터 모듈이나 다른 장치와 연결이 완료되면 LED가 켜진 상태로 유지됩니다.
먼저 아래 스케치를 업로드 합니다. PC에서 Serial 통신으로 아두이노로 메시지를 던지면 아두이노에서 HC-06으로 다시 메시지를 던져줍니다. 다른 장치와 페어링 된 상태라면 그쪽으로 메시지가 전달되겠죠. 반대로 HC-06이 메시지를 받으면 아두이노를 통해 PC로 전달됩니다. 시리얼 모니터에서 수신 메시지 확인할 수 있습니다. 아두이노와 HC-06 간의 통신을 위해 SoftwareSerial 을 사용합니다.
#include <SoftwareSerial.h> SoftwareSerial BTSerial(2, 3); //Connect HC-06. Use your (TX, RX) settings void setup() { Serial.begin(9600); Serial.println("Hello!"); BTSerial.begin(9600); // set the data rate for the BT port } void loop() { // BT –> Data –> Serial if (BTSerial.available()) { Serial.write(BTSerial.read()); } // Serial –> Data –> BT if (Serial.available()) { BTSerial.write(Serial.read()); } }
HC-06 모델은 초기 BAUD RATE 값이 9600으로 설정되어 있고, Name=linvor, Password=1234 로 되어있습니다. 일단 위 소스를 업로드 하고, 모듈이 깜빡거리는지 Serial Monitor 창에 Hello!! 가 찍히는지 확인합니다. 그리고 Serial Monitor 창에서 아래 명령을 던지면 HC-06 모델의 설정을 바꿀 수 있습니다.
장치명 변경: AT+NAMExxxx (이름을 mybt01 로 바꾼다면 : AT+NAMEmybt01)
페어링 암호 변경 : AT_PINxxxx (비번을 1111 로 바꾼다면 : AT_PIN1111)
통신속도 변경 : AT_BAUDx (1200=1, 2400=2, 4800=3, 9600=4, 19200=5, 38400=6, 57600=7, 115200=8 중 택 1)
만약 정상적으로 값이 변경 되었다면 Serial Monitor 창에 메시지가 뜰겁니다. BAUDRATE를 변경하면 연결을 끊고 Serial Monitor 창 닫고 다시 연결, 실행해 보세요. 여기까지 완료되면 BT 관련한 아두이노 설정은 끝.
4. 코드 (스케치)
GitHub 에 BluetoothChat 프로젝트가 있습니다. 위에서 설정한 아두이노 보드와 안드로이드 앱을 연결해서 서로 메시지를 주고 받을 수 있게 한 프로젝트입니다. 이 프로젝트를 응용해서 새롭게 제작한 BT Chat 안드로이드 앱을 사용하세요.
# 앱 다운로드(Google Play) : https://play.google.com/store/apps/details?id=com.hardcopy.btchat (구글 플레이에서 BT Chat 아두이노 검색 후 설치)
# 앱 소스 다운로드 : https://github.com/godstale/BTChat
아래 순서로 연결이 되는지 테스트하세요.
- 먼저 아두이노를 켜서 HC-06 슬레이브 모듈이 페어링 대기상태에 들어가도록 합니다. (LED 깜빡깜빡)
- 위 GitHub 에서 받은 소스를 빌드하거나 아래 링크에서 APK 파일을 받아서 폰에 설치합니다.
- 폰의 설정 > 블루투스 에서 off 상태이면 BT on 으로 바꿉니다.
- BluetoothChat 앱을 실행 – 메뉴키 – Connect a device 선택
- Device List 에 HC-06 슬레이브 모듈이 보이는지 확인. 안보이면 Scan 버튼을 눌러서 찾아보고 그래도 안되면 1부터 다시합니다.
- HC-06 모듈이 보이면 선택 – 연결이 정상적으로 완료되면 챗팅 가능
- 폰으로 글 적으면 PC의 Serial Monitor에서 보이는지 확인합니다. 반대도 확인.
BTChat 안드로이드 관련 파일 다운로드
# 앱 다운로드(Google Play) : https://play.google.com/store/apps/details?id=com.hardcopy.btchat
# 앱 소스 다운로드 : https://github.com/godstale/BTChat
# BT Chat 앱 상세사항 : https://www.hardcopyworld.com/?p=1359
참고자료:
- 아두이노 – 안드로이드 블루투스 채팅 (Bluetooth 2.x)
- 아두이노 – 안드로이드 블루투스 채팅 기능개선 버전 (Bluetooth 2.x)
- BLE(Bluetooth Low Energy) 이해하기 (Bluetooth 4.0)
- 아두이노 – 안드로이드 BLE 채팅
[…] 블루투스 연결 방법 : http://www.hardcopyworld.com/ngine/aduino/index.php/archives/177 […]
[…] [여기를] 참고하세요. TX, RX 핀은 다른 핀을 사용해도 될겁니다. 대신, 소스에 핀 […]
[…] 아두이노와 블루투스 연결 및 테스트 방법은 [여기를] 참고하세요. 일단 링크의 내용을 참고하셔서 장치 이름이나 비번 등을 […]
[…] may refer to the website for the common way of Arduino – bluetooth connection and test.(but in Korean) You can use […]
[…] http://www.hardcopyworld.com/ngine/aduino/index.php/archives/177 […]
[…] 아두이노와 블루투스 연결 및 테스트 방법은 [여기를] 참고하세요. 일단 링크의 내용을 참고하셔서 장치 이름이나 비번 등을 […]
안녕하세요. 처음 나온 사진을 블로그에 인용하려고 하는데 괜찮으신가요?
학생이라 공부하는 용도로 정리 중인데
님이 올리신 사진의 설명이 잘 되있으셔서 인용하려고 생각 중입니다.
http://ai.esmplus.com/jnkgloballtd/btmod/hc06pcb_pin.jpg
이 이미지를 말씀하시는 건가요? 저도 이 이미지는 다른곳에서 퍼온거라 제가 어떻게 말씀드릴수가 없네요. 나머지 title 사진은 사용하셔도 상관 없습니다.
안녕하세요 저는 fb155bc모듈 사용하여서 이 부분을 해봤는데요
SoftwareSerial 이부분이 왜 갈색으로 활성화가 안된는걸까요?
(라이브러리에 있는거 확인했구요)
아두이노에서 특정 라이브러리 부분이 하이라이트 되게 하기 위해서는 calledkeywords.txt 에 추가를 해줘야 하는 걸로 압니다. http://www.hardcopyworld.com/ngine/aduino/index.php/archives/691
아마 컴파일과 동작과는 크게 상관이 없을 것 같습니다.
안녕하세요 궁금한 점이 있어서 댓글드립니다.
제가 간단한 센서를 만들어서 (심박센서) 입력신호를 블루투스 통해서 전송하려고 하는데요.
펑션 제너레이터로 아날로그 A0에 물리고 그라운드 시켰습니다.
물론 블루투스 없이 시리얼 통신으로 구동하면 랩뷰로 파형을 관찰할수 있었습니다.
그 후에 블루투스 연결을 하고 통신을 하고 싶은데 A0로 받은 아날로그 입력을 블루투스 수신단에 물려야 그 신호가 전송이 될거같은데 A0에 물린 아날로그 신호를 어떻게 블루투스의 수신단으로 해야할지 모르겠습니다. ㅜㅜ
입문초보생이어서 여러 검색을 했지만 결국 알아내지 못해 이렇게 문의드립니다.
혹시 더 자세한 회로도나 스케치등을 메일 알려주시면 더 자세히 여쭙고 배울수 있으면 좋겠습니다.
감사합니다 .
SofrwareSerial BTSerial(2,3);
==> 이 부분은 블루투스 인스턴스를 초기화 하는 부분입니다. 파라미터로 블루투스의 TX, RX 핀과 연결된 아두이노 디지털 핀 번호를 입력하게 되어 있습니다. 대부분 예제에서 2, 3번 핀을 사용하는데 그 이유는.. 0번과 1번핀은 PC와 USB Serial 통신을 하기위해서 내부적으로 Hardware Serial로 예약된 핀이기 때문입니다. Serial 함수를 사용해서 PC쪽으로 데이터를 보내는 코드를 같이 사용하는 경우라면 블루투스를 0,1번에 연결하면 안됩니다. (PC와 Hardware Serial 통신을 사용하지 않고, 코드 업로드 할 때 문제가 없도록 처리된 보드에서는 0, 1번에 블루투스를 연결하고 SoftwareSerial이 아닌 Serial 함수로 사용할 수 있습니다.)
그래서 0, 1번 핀을 제외한 핀을 사용하는데 일부 아두이노 버전, SoftwareSerial 라이브러리 버전에 따라서 인터럽트 핀을 사용해야 블루투스에 문제가 발생하지 않는다는 리포트가 있습니다. 그래서 인터럽트 기능을 가진 2, 3번 핀을 주로 사용합니다. SoftwareSerial 사용에 별 문제가 없는 환경이라면 2, 3번 대신 다른 디지털 핀 2개를 사용하셔도 됩니다.
일단 블루투스 연결이 정상적으로 되어서 데이터를 주고 받을 수 있는 상태가 되면
블루투스를 통해 데이터를 전달하실 텐데요..
심박센서 데이터를 보낸다면 데이터가 int, float 형 배열 형태일 겁니다.
그런데.. SoftwareSerial 함수중에는 이런 타입의 데이터를 보낼만한 함수가 없는 것 같습니다.
SoftwareSerial 에서 제공하는 함수는 거의 char 형 데이터 또는 char *(문자열) 만 보낼 수 있는듯 합니다.
(int, float 형 배열을 보내는 방법이 있는지는 아직 잘 모르겠습니다)
그래서 제 경우에는 char * 로 배열을 만들고 여기에 한 바이트씩 데이터를 쪼개서 저장한 다음 보냈습니다. char *(문자열)로 보내기 때문에 0x00은 null 문자로 인식해서 이후의 데이터는 깨질 수 있습니다. 따라서 0x00 값을 적당히 다른 값으로 치환하던지 아두이노가 사용하는 2byte int 를 3byte로 쪼개서 보내야합니다. 물론 수신측에서 이 값을 복원하는 루틴이 들어가야겠죠.
“아두이노 스마트 밴드 만들기” 프로젝트의 아두이노 소스코드와 안드로이드 소스코드를 보시면 이것을 구현한 코드를 참고하실 수 있으실 겁니다.
안녕하세요. 질문이 있는데요.
AT+PIN7777 이런식으로 하면 비밀번호를 ‘7777’로 셋팅 할 수 있는데, 비밀번호를 아예 없애는 방법은 없나요?
아래 문서를 보시면 AT command 리스트를 보실 수 있습니다. 그런데 PIN을 사용하지 않는 방법에 대해서는 언급이 없는 것 같습니다.
http://www.exp-tech.de/service/datasheet/HC-Serial-Bluetooth-Products.pdf
USB로 파일을 업로드 시키면 시리얼 모니터에 255라는 숫자만 무한정으로 뜨는데 혹시 어떤문제인지 알수 잇을까요? 아두이노와 블루투스모듈은 글과 똑같은걸 사용햇습니다
만약 소스코드를 그대로 사용하셨다면 블루투스에서 들어오는 데이터가 그렇다는 얘기입니다. 블루투스 쪽 TX, RX 연결에 문제가 없는지 확인이 필요할 것 같습니다.
좋은 정보 감사합니다. 질문이 있는데요.
아두이노에 초음파 센서를 장착하고 들어오는 값을 usb 케이블이 아닌 불루투스로 pc에 전송을 하고 싶은 경우에는 어떻게 해야 하나요?
블루투스를 이용해서 문자열을 보내면 됩니다. 보통 블루투스는 SoftwareSerial을 사용하니까…
SoftwareSerial mySerial(2, 3);
mySerial.begin()
mySerial.println(거리값);
대충 이런 형태로 사용하면 폰으로 거리값이 넘어갑니다.
블루투스에 있는 wake up,state는 어떤기능을 하나요?
state는 블루투스 상태를 알려주는 핀이고(LED가 여기 달려서 깜빡거리면 페어링 전, on 상태로 유지되면 페어링 완료)… wake up 은 아마도 reset 핀인것 같습니다.
안드로이드앱과 아두이노를 블루투스를 연결하여 앱으로 아두이노를 제어할 수 있다면
아두이노를 이용하여 안드로이드앱과 pc를 연결시켜 앱으로 pc제어가 가능한가요?
안드로이드 – 아두이노 – PC 를 순서대로 연결해서 제어하시는 건가요?
안드로이드에서 PC를 제어하고 싶으시면 굳이 중간에 아두이노가 낄 필요는 없어 보입니다.
어쨌든 말씀하신 시나리오로 구현은 가능할겁니다. PC쪽에 적절한 앱을 만든다면요.
ArduinoMEGA로 연결을 하려 하는데 아두이노 메가에서 통신 부분에 있는 TX와RX에 꽂으면 되나요??!!
네 맞습니다.. 그런데 메가 보드는 Serial TX, RX 핀이 4쌍이 있습니다. 그리고 각각은 Serial, Serial1… 등으로 사용할 때의 이름이 틀립니다. 이점 주의하세요.
아두이노 윤으로하는데 AT명령어를 치면은 아무런 내용이 출력이안되네요.. 예를들어 AT 라고치면 OK라고 시리얼모니터에 출력이 되야하는데.. 안되네요
그런데 AT+NAME 명령어는 시리얼모니터에 출력되지는않지만 변경은 되더군요…
소스코드는 글쓴님이 올린소스코드 사용했고요.. PIN번호를 변경해야하는데 안되네요…
AT_PINXXXX 가 아니라
AT+PINXXXX 형태로 쓰셔야 합니다.
안녕하세요 위에 소스대로 코딩을 하고 시리얼모니터에 HELLO까지 보였는데요 이제 어플에서 메세지를 보냈는데 컴퓨터에 표시가 안되네요? 이거는 어떤게 잘못된건가요?
블루투스와 아두이노의 연결이 잘못 되었거나 SoftwareSerial 초기화(핀번호 입력부분)가 잘못 되었을 가능성이 큽니다.
안녕하세요 저도 위의 댓글과 동일하게 블루투스 연결이 성공된 후
시리얼 모니터 –>핸드폰 으로 문자 전송은 잘 되는데
시리얼 모니터 <–핸드폰 으로 문자 전송이 안되네요
TORTUGA님 말씀되로 다시 확인해보면서 해봐도 문제가 무엇인지 모르겠습니다ㅜ
아 해결했습니다 제가 시리얼모니터로만 핸드폰에서 보낸 문자를 확인할려고해서 착각하고있었습니다
일단 양방향 통신말고 겨우 한쪽방향 송신,수신 각각 성공했네여
char data; //문자 송신의 경우 자료형을 바꿔줘야함 추가코드
void loop(){
data=Serial.read();
if (Serial.available()) {
BTSerial.write(data);
Serial.print(data); //시리얼 모니터에서 받은 값을 확인하기위한 추가코드
}
혹시 저처럼 헤매는 사람있을까봐 올릴 써 놓을께요
아 해결하셨다니 다행입니다. 그리고 적어주신 소스 코드에서
data=Serial.read();
if (Serial.available()) {
BTSerial.write(data);
Serial.print(data); //시리얼 모니터에서 받은 값을 확인하기위한 추가코드
}
Serial.read() 부분은 Serial.available() 체크가 성공했을 때 사용하세요. 아래처럼요
if (Serial.available()) {
data=Serial.read();
BTSerial.write(data);
Serial.print(data); //시리얼 모니터에서 받은 값을 확인하기위한 추가코드
}
안녕하세요 위에 댓글처럼 바꾼 코드로 다시 해봤지만 여전히
핸드폰 -> 시리얼모니터는 시리얼 모니터로 메세지가 확인이 안되네요ㅠㅠ
문자를 양쪽(핸드폰, 시리얼모니터) 모두에서 확인하려면 어떻게 바꿔야 하는지 알려주세요…
새로 개편한 홈페이지의 QnA 게시판에 유사한 문제점들 한번 확인해보세요.
http://www.hardcopyworld.com/gnuboard5/bbs/board.php?bo_table=qna
한글 채팅이 안되네요…
한글을 지원하기에는 아두이노의 성능이 너무 딸립니다. 아두이노 자체의 제약으로 한글은 지원이 안됩니다.
여기있는 코드로나 수업시간에 배운
다른코드로나 연결을 바르게했고 블루투스 불빛이 깜빡거리는것도 확인했는데
시리얼모니터에 반응이 없습니다. 다만 휴대폰으로 블루투스를 찾으면 검색은 되는 상황입니다.
시리얼 모니터에 응답이되서 응답되는 문자를 활용하려하는데 시리얼 응답이 안되니까
답답한데 해결방법이 있나요? 수업시간에도 안되는 피씨도 있고 되는 피씨도있고 한 걸 보면 기계 문젠가도 싶고.. 아직 해결 못하고 있습니다. ㅠㅠ
깜빡이는 상태는 제대로 페어링이 되지 않은 상태입니다. LED가 켜진채로 유지되어야 페어링되어 통신이 가능한 상태입니다. 일단 폰과 페어링이 제대로 되는지 먼저 확인하고 그 다음 폰에서 전달된 데이터가 아두이노에 도착하는지 확인해야 합니다.
지금 아두이노로 스마트워치를 만들고있습니다.. 지금 레트로와치 오픈소스 제공한걸 사용중이고요… 현재 납땜도 다하고 켜보니 시계로고화면까진 나옵니다 그래서 됬구나 싶어 안드로이드폰이랑 연동해서 확인해보났으나 데이터가 날아가지는 않느넛 같군요… 페어리안됬을떄 깜빡깜빡거리고 페어링되었을때는 LED가 일정하게 켜져있는데 데이터를 읽지 못하는것 같습니다.. 혹시 확인할 방법이 있을까요? 블루투스 HC-06사용중인데 이걸 볼수있도록 하는 방법이 있을까요?
핸드폰 앱에서 필터 설정을 해야합니다. 앱에서 [!] 아이콘 눌러서 RetroWatch 앱에 Notification 수집 권한을 주시고, Noti 메시지가 수집되면 메시지를 클릭하세요. 그리고 해당 메시지를 생성한 앱의 모든 메시지를 워치로 보내도록 메뉴를 선택하면 됩니다. 이후부터는 앱 관련 메시지가 시계로 날아갑니다.
필터 설정해도 바로 메시지가 날아가진 않으므로 메뉴키 -> 메시지 전송 을 선택해서 강제로 보내주세요.
업로드하고 at명령어를 하는데요 AT+NAME명령어만 동작하고 나머지는 전부 안되는데요…
혹시 증상에 대해서 알고 계신 내용이 있는지 질문드립니다.ㅠㅠ
명령어가 하나도 안되면 회로상의 이유라던지 다른 이유를 찾을텐데 name명령어만 동작하니 답답합니다. name도 NAMEabcd 같은 변경 명령어만 동작합니다. ㅠㅠ
자답입니다. 시리얼 창에서 no line ending모드로 적용하고 명령어를 내리니 동작하네요….ㅠㅠ
블루투스를 사용하다보니 궁금한점이 있어서 보게되었습니다.
아두이노 2대를 사용하는데 이 것을 동시에 페어링 시키는 방법이 있을까요?
둘 다에서 정보를 받아 처리를 해야하는 상황이라 질문하게 되었습니다.
제가 아는 한도내에서는.. 안되는 걸로 압니다. 2개의 블루투스 모듈을 쓴다면 2개 페어링은 별도로 해줘야 할겁니다.
블루투스 신호를 제어 할 수 있나요??
20cm에서 1m 안으로 제어 하고 싶습니다
안녕하세요. 질문이 있습니다.
시중에 판매되는 블루투스 셀카봉이나 블루투스 카메라 리모콘 같은 경우에
앱을 설치하지 않고도 기본 카메라 앱에서 작동이 되는데
아두이노로 그런 기능을 만들어 보려고 하는데 예제가 없네요 ㅜㅜ
안드로이드의 경우 블루투스로 “enter”신호를 보내면 되고 아이폰의 경우 볼륩업신호를 보내야 한다는데
어떻게 해야 되는건지 막막합니다.
안녕하세요. 아두이노 학습중인 학생입니다.
다름이 아니라 2:2 bluetooth 통신을 위해서 2개의 master와 2개의 slave를 사용하여 통신하려합니다.
현재
#include
SoftwareSerial btSerial(2, 3);
SoftwareSerial btSerial2(4, 5);
void setup()
{
Serial.begin(9600);
btSerial.begin(9600);
btSerial2.begin(9600);
}
void loop()
{
if (Serial.available())
{
delay(5);
while (Serial.available())
{
btSerial.write(Serial.read());
btSerial2.write(Serial.read());
}
}
if (btSerial.available())
{
delay(5);
while (btSerial.available())
{
Serial.write(btSerial.read());
}
}
if (btSerial2.available())
{
delay(5);
while (btSerial2.available())
{
Serial.write(btSerial2.read());
}
}
}
2개의 master가 달린 아두이노에 해당 ino파일을 업로드하고 통신하려 했으나 데이터 송,수신이 제대로 되는거 같지 않아 질문 드립니다.
혹시 이런식으로 두개의 btSerial을 받아오는 것이 잘못된 방법인지, 만약 잘못된 방법이라면 어떤 방식으로 접근해야하는지 알려주실 수 있으신가요 ??
감사합니다.
이 내용이 공부하는 과정이랑 많이 비슷해서 그런데
코딩이라든가, 보고서 쓰는데 활용해도 댈까요!?
[…] 블루투스 HC-06 슬레이브 모듈 아두이노 소스 + 안드로이드 앱 소스 […]
안녕하세요~ 질문이있습니다. 제가 현제 3가지 센서를 사용하여 사람이 있다는것을 감지하면 아두이노, 블루투스를 활용하여 안드로이드에 진동, 불빛 을 나타나게 하려하는데 어떻게 해야할까요ㅠㅠ 조언 한마디 부탁드립니다.
안녕하세요. 아무리 고민을 해봐도 해결이 안되어 문의 남겨요..
안드로이드 앱개발을 통하여 bluetooth로 전화나 문자 수신시 HC06모델을 통하여 명령값을 전달 하고자 하는데 문자는 잘되는데 전화만 울리면 페어링이 끊어져 버리내요.. 혹시 의견좀 얻을수 있을지 해서 글남김니다. 미리 감사합니다.
전화 왔다고 페이링 끊길일은 없는데… 혹시 핸즈프리나 무선 헤드셋 같은 장치가 페어링 되어 있는지 확인해보세요. 폰 설정 -> 블루투스 가서 HC-06 외의 페어링 장치들은 다 삭제하세요.
안녕하세요 포스팅 잘봤습니다. 제 경우에는 시리얼 모니터에 입력한 값은 안드로이드 앱 상에 잘 나타나는데 반대로 안드로이드 앱에서 입력한 값이 아두이도 스케치의 시리얼모니터 상에 나타나지 않습니다. hello만 그대로 찍혀있고 안드로이드 앱에서 어떤 값을 입력해도 시리얼 모니터상에 나타나지않습니다.. 혹시 예상되는 문제점이 있으신지 궁금합니다ㅠ