#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);
}
코코아팹에 있는 도난 방지 장치인데
여기서 블루투스를 빼고 적외선 센서를 이용해서 리모콘으로 온 오프 시키려구 하는데요
어떻게 해야할지 몰라서 문의좀 드립니다 ㅠㅠ
|
이전글 |
아두이노우노 뮤직 쉴드 관련 질문입니다
|
2016-06-09 |