정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

아두이노 도난방지 관련 도움요청
김종표 | 2018-11-22

#include <SoftwareSerial.h>

SoftwareSerial BTSerial(8, 9);
int bufferPosition;
int w=0;
int psensor = A0;
int button1 = A1;
int button2 = A2;
int led1 = 2;
int led2 = 3;
int flag = 0;
int gyrox = A3;
int gyroy = A4;
int x=0;
int y=0;
char A,B;

void setup()
{
  Serial.begin(9600);
  BTSerial.begin(9600);
  pinMode(button1,INPUT);
  pinMode(button2,INPUT);
  pinMode(led1,OUTPUT);
  pinMode(led2,OUTPUT);
  Serial.println("SLEEP MODE");
  BTSerial.println("SLEEP MODE");
  digitalWrite(led2,HIGH);
  digitalWrite(led1,LOW);
}

void loop()
{
  

  if(analogRead(button1) == 1023 && flag == 0) // 버튼 1이 눌렸을 때 감지 시작
  {
    if(flag == 0)
    {
     Detecting_Mode();
     flag = 1;
    }    
  }
  else if( BTSerial.read() == 'B')             // 블루투스로 'B'문자 받았을 경우 감지 종료
  {
    if(flag == 1)
    {
      Standby_Mode();
      flag = 0;
    }
  }

}

void Detecting_Mode() // <감지모드함수> 가속도 x,y축 변화값, 압력 센싱값 추출
                      // 센서 값 변화량이 일정 값 이상일 경우 블루투스로 'A'문자 전송
{
  while(1)
  {
  digitalWrite(led1,HIGH);
  digitalWrite(led2,LOW);
  w = analogRead(psensor);
  x = analogRead(gyrox);
  y = analogRead(gyroy);
  if(w < 30){BTSerial.println("A");}
  else if(x < 290){BTSerial.println("A");}
  else if(x > 310){BTSerial.println("A");}
  else if(y < 290){BTSerial.println("A");}
  else if(y > 310){BTSerial.println("A");}
  delay(1000);
  if(  BTSerial.read() == 'B'){flag = 1; break;} // 블루투스로 'B'문자 받을 경우 루프 탈출
  }
}

void Standby_Mode()
{
  BTSerial.println("SLEEP MODE");
  digitalWrite(led2,HIGH);
  digitalWrite(led1,LOW);
  delay(1000); 
}

 

코코아펩에 있는 스케치를 가져온건데요 여기서 LED 1개와 부저 이용해서 할려고 하는데 블루투스가 끈어지면 부저 울리면서 LED가 ON 되게 할려고하는데 어떻게 하나요 

이전글   |    아두이노 웹서버에 데이터 보내기 2018-11-22
다음글   |    사장님~~ 2018-11-22