brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Feb 27. 2020

13.스마트폰으로 아두이노 LED ON/OFF 제어

스마트폰으로 아두이노 LED ON/OFF 제어해 보자.


<1>  아두이노 보드 점검하기

<2>  Arduino IDE에서 소스 수정하기

<3>  동작 확인



<1>  아두이노 보드 점검하기


1. PC에서 Arduino IDE 실행

> 파일 >  예제 > 01.Basic > Blink

실행

보드에  L 램프 정상 깜빡임을 확인함.

5초간 켜지고 , 1초간 꺼짐



2. 아두이노와 외부 LED 연결하기

아두이노 보드 13번 포트에 빨간색 케이블 연결

GND(접지)에 파란색 케이블 연결



LED 긴 다리쪽 (+)에 빨간색 케이블 연결되도록 한다.

저항을 연결하여야 과전압으로 문제가 되지 않는다.



3. Arduino IDE

1) 포트 속도 수정하기  9600 으로 변경



<2>  Arduino IDE에서 소스 수정하기

a를 누르면 켜지고, b를 누르면 꺼지도록 소스를 수정해 보자.


Arduino IDE


변경전 소스

void setup() {

  // initialize digital pin LED_BUILTIN as an output.

  pinMode(LED_BUILTIN, OUTPUT);

}

// the loop function runs over and over again forever

void loop() {

  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)

  delay(5000);                       // wait for a second

  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW

  delay(1000);                       // wait for a second

}



변경후 소스


RX 3   블루투스 

TX 2    블루투스



#include <SoftwareSerial.h>

SoftwareSerial bluetooth(2, 3); // TX, RX

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

 Serial.println("ready!");  

}

void loop() {

   delay(1000);

  if(bluetooth.available()) {

    char cmd = bluetooth.read();

 Serial.println("bluetoot !");  

    switch(cmd) {

      case '1':

 Serial.println("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("Motion Ended");      

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

      pre_val = cur_val;      

     }

    }

   }

  }


<3>  동작 확인


1. 스마트폰에서 Bluetooth연결하기

HC-06

암호 1234

연결되면 깜빡임이 없어진다.



2. 스마트폰에서 Bluetooth terminal프로그램 다운로드




Device >  HC-06 연결


a를 전송해서 led가 켜지는지 확인.

b를 전송해서 led가 껴지는지 확인.



다음엔  앱 인벤터로  스마트폰 앱을 만들어  LED 를 ON/OFF 해보자.




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


감사합니다.

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