Page 574 - MDP2020-1
P. 574
| 인천전자마이스터고등학교 ·············································································································
568
**********************BLUETOOTH_TEST_END**********************
▶실제 프로그램)
#include <SoftwareSerial.h> //시리얼 통신 라이브러리 호출
int blueTx = 12; //Tx (보내는핀 설정)
int blueRx = 13; //Rx (받는핀 설정)
SoftwareSerial mySerial(blueTx, blueRx); //시리얼 통신을 위한 객체선언
String myString = ""; //받는 문자열
int speakerPin = 6; //부저 출력핀
int signal_pi = 3; //라즈베리파이의 신호 입력핀
int flag = 0;
void setup() {
Serial.begin(9600); //시리얼모니터
mySerial.begin(9600); //블루투스 시리얼 개방
pinMode(5, OUTPUT); //Pin 5을 OUTPUT으로 설정 (LED ON/OFF)
pinMode(6, OUTPUT); //Pin 6을 OUTOUT으로 설정 (Buzzer)
pinMode(signal_pi, INPUT); //Pin 3을 INPUT으로 설정 (라즈베리파이의 신호입력)
}
void loop() {
while (mySerial.available()) //mySerial 값이 있으면
{
char myChar = (char)mySerial.read(); //mySerial int형식의 값을 char형식으로 변환
myString += myChar; //수신되는 문자열을 myString에 모두 붙임 (1바이트씩 전송되는
것을 모두 붙임)
delay(5); //수신 문자열 끊김 방지
}
if (!myString.equals("")) //myString 값이 있다면
{
Serial.println("input value: " + myString); //시리얼모니터에 myString값 출력
if (myString == "1") //myString 값이 'on' 이라면
{
digitalWrite(5, HIGH); //LED ON
delay(5000);
digitalWrite(5,LOW);
flag = 0;
}
else if (myString == "2") {