brunch

You can make anything
by writing

C.S.Lewis

by Master Seo May 01. 2019

9. 방문자 확인 서비스,스마트폰으로 데이터 전송1

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

목차

1. 목표

2. 전체 구성도

3. 하드웨어 구성하기

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

5. 앱으로 연동하기

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

7. 동작 확인 하기

8. 추후 해볼것



1. 목표

모션  앞에 물체가 감지되면 스마트폰에서 인지가 되도록 한다.



2. 전체 구성도



3. 하드웨어 구성하기

블루투스 연결

빨주노초


전원

빨 주


tx rx

2 3



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



1) 3개의 핀이 있다.

GND(노랑)-  SGI(신호) - VCC (빨강)



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


Vcc 빨

주황 GND그라운드

흰색 감지센서


빨강 ㅡ 주황

VCC ㅡ GND그라운드


아래는 참고만.

케이블 색 틀림.번호는 7번


- 검은선 GND

- 가운데 파란색 SGI(신호) : 아래 그림에서 2번을 7번으로 연결

- 빨간색  5V









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


Arduino IDC (스케치) 프로그램 실행 >

PIR 스케치 소스

센서에 감지가 되면  아두이노 보드에 불이 들어오도록 한다.


#define PIR_SENSOR 7

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(1000);


  if(pre_val != cur_val) {

    if(cur_val == HIGH)

      Serial.println("Motion Detected");

    else

      Serial.println("End");      

    pre_val = cur_val;      

  }

}



동작확인



5.   블루투스코드 추가한 버전 올리기


#include <SoftwareSerial.h>

SoftwareSerial bluetooth(2, 3); // HC-06:TXD, HC-06:RXD

#define PIR_SENSOR 7

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

 Serial.begin(19200);

}

void loop() {

   delay(1000);

  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) {

        Serial.println("Motion Detected");

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

      }

      else {

        Serial.println("Ended");      

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

      pre_val = cur_val;      

     }

    }

   }

  }


하드웨어 블루투스 연결은 여기

https://brunch.co.kr/@topasvga/847



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

 

앱 인벤터 설치하기

http://ai2.appinventor.mit.edu




7. 동작 확인 하기




8. 추후 해볼것

센서 앞에 가면 선풍기가 자동으로 돌아가게 해보자 ~



https://brunch.co.kr/@topasvga/2022



감사합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari