brunch

You can make anything
by writing

- C.S.Lewis -

by DNS전문가카페운영 May 01. 2019

9.아두이노와 모션센서,인체감지센서 PIR 사용

목차

1. 전체 구성도

2. 하드웨어 구성하기

3. 하드웨어에 제어를 위해 소프트웨어 올리기

4. 앱으로 연동하기


1. 전체 구성도



실습 환경

실습

모션  앞에 물체가 감지되면 LED가 켜지도록 한다.





2. 하드웨어 구성하기


아두이노와 모션센서,인체감지센서 PIR 연결하기



1) 3개의 핀이 있다.

VCC - SGI - GND



2) 센서와 아두이노를 연결하자

VCC는 빨간선

그라운드 GND는 검은선

감지는 2번선  파란색




3. 하드웨어에 제어를 위해 소프트웨어 올리기


PIR 스케치 소스

PIR센서선을 2번으로 지정하는것으로 코딩한다.

센서에 감지가 되면 불이 들어오도록 한다.


#define PIR_SENSOR  2

int pre_val = LOW;  // previous value

int cur_val;  // current value


void setup() {

  pinMode(LED_BUILTIN, OUTPUT);

  pinMode(PIR_SENSOR, INPUT);

  Serial.begin(19200);

}


void loop() {

  cur_val = digitalRead(PIR_SENSOR);

  digitalWrite(LED_BUILTIN, cur_val);


 delay(5000);


  if(pre_val != cur_val) {

    if(cur_val == HIGH)

      Serial.println("Motion Detected");

    else

      Serial.println("Motion Ended");      

    pre_val = cur_val;      

  }

}



동작확인



PIR 스케치 소스 with 블루투스


#include <SoftwareSerial.h>

SoftwareSerial bluetooth(19, 18); // HC-06:TXD, HC-06:RXD

#define PIR_SENSOR  2

int pre_val = LOW;  // previous value

int cur_val = LOW;

bool bReady = false;

void setup() {

  pinMode(LED_BUILTIN, OUTPUT);

  pinMode(PIR_SENSOR, INPUT);

  bluetooth.begin(9600);

}

void loop() {

  if(bluetooth.available()) {

    char cmd = bluetooth.read();

    switch(cmd) {

      case '1':

        bReady = true;

        break;

      case '2':

        bReady = false;

        break;

    }

  }

  if(bReady) {

    cur_val = digitalRead(PIR_SENSOR);

    digitalWrite(LED_BUILTIN, cur_val);  

    if(pre_val != cur_val) {

      if(cur_val == HIGH)

        bluetooth.write('a'); // Motion Detected

      else

        bluetooth.write('b'); // Motion Ended        

      pre_val = cur_val;      

    }

  }

}




4. 블로투스를 이용해 앱으로 연동하기

 

http://ai2.appinventor.mit.edu




감사합니다.

매거진의 이전글 8.아두이노와 초음파센서 사용하여 거리를 측정하기

매거진 선택

키워드 선택 0 / 3 0
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari
;