정보나눔

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

아두이노 도난방지 장치 만드는데 질문이요...
이상수 | 2016-06-09

#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); 
}

 

코코아팹에 있는 도난 방지 장치인데

여기서 블루투스를 빼고 적외선 센서를 이용해서 리모콘으로 온 오프 시키려구 하는데요

어떻게 해야할지 몰라서 문의좀 드립니다 ㅠㅠ

프로필사진

Klant 2016-06-10 12:41:15

안녕하세요! 이상수님!

적외선 리모컨 사용에 대한 레퍼런스입니다. 

아래 링크를 참고해주세요!

http://www.hardcopyworld.com/ngine/aduino/index.php/archives/118

이전글   |    아두이노우노 뮤직 쉴드 관련 질문입니다 2016-06-09
다음글   |    구름 조명 질문입니다!(수정) 2016-06-09