BASIC4MCU | 질문게시판 | 아두이노와 휴대폰을 HC-06으로 연결시켜서 블루투스연결이 끊기면 부저에서 소리가 나게 할려하는데 어떻게 해야하나요
페이지 정보
작성자 졸작부수다 작성일2022-05-23 20:08 조회1,390회 댓글1건본문
제목과 동일하게 핸드폰과 아두이노(HC-06)이 떨어지면 휴대폰과 아두이노에 연결된 부저에서 소리가 나게 할려고 하는데 휴대폰에서 블루투스가 끊어질시 소리가 나는 앱까지는 성공을 했습니다
그런데 아두이노에 연결된 부저에서 블루투스가 끊길시 소리가 나지 않고 연결과 동시에 소리가 납니다. 블루투스가 연결전부터 말이죠 어디가 문제인지 모르겠어서 어디를 고쳐야하고 문제점을 알려주시면 감사하겠습니다
#include <SoftwareSerial.h>
#define tpin 7
#define BLUE_TX 2
#define BLUE_RX 3SoftwareSerial hc06 (BLUE_TX, BLUE_RX);
unsigned long previousCheckSendTime = 0;
unsigned long previousPairingCheckTime = 0;
char point = 0;
boolean isThereCheckSignal = false;boolean blueConnect = false;
void pairingCheckSend () {
unsigned long presentTime = millis();
if ( presentTime >= (previousCheckSendTime+1000) ) {
previousCheckSendTime = presentTime;
hc06.print("c");
Serial.println ( "Check 'c' Send to Phone. " );
}
}
void pairingCheckCome () {
unsigned long presentTime = millis();
if ( (millis()) >= (previousPairingCheckTime+2000) ) {
if ( !(isThereCheckSignal) ) {
blueConnect = false;
isThereCheckSignal = false;
previousCheckSendTime = 0;
previousPairingCheckTime = 0;
Serial.println ("judged that the Bluetooth connection is disconnected.");
}
else {
isThereCheckSignal = false;
previousPairingCheckTime = millis();
}
}
}
void hc06Receive () {
String answer = "";
while (hc06.available())
{
char val = hc06.read();
answer += val;
unsigned long atThisTime = millis();
do
{
;
}while (atThisTime+5 > millis() );// 데이터 끊김 방지
}
}
void setup() {
Serial.begin(9600);
hc06.begin(9600);
pinMode(7, OUTPUT);
Serial.println ("start.");
}
void loop() {
{
if (blueConnect)pairingCheckSend ();
pairingCheckCome ();
}
{
if (hc06.available() > 0)
point =hc06.read();
}
{
if (point == false)
tone(tpin,261.6, 800);
delay(200);
noTone(tpin);
}hc06Receive ();
}
코드입니다
댓글 1
조회수 1,390master님의 댓글
master 작성일괄호 사용법을 아직 잘 모르시나봅니다.