스마트폰으로 아두이노 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
감사합니다.