BASIC4MCU | 질문게시판 | 답변 : 블루투스 간 통신 질문입니다
페이지 정보
작성자 master 작성일2022-06-08 18:46 조회781회 댓글0건본문
//
//---송신부
//
#include <SoftwareSerial.h>
#define S0 12
#define S1 11
#define S2 10
#define S3 9
#define sensorOut 7
//
int blueTx=2; //Tx (보내는핀 설정)at
int blueRx=3; //Rx (받는핀 설정)
SoftwareSerial mySerial(blueTx, blueRx);
//
int redFrequency = 0;
int blueFrequency = 0;
int redColor = 0;
int blueColor = 0;
int delaysec = 1000;
//
void setup() {
pinMode(S0, OUTPUT);
pinMode(S1, OUTPUT);
pinMode(S2, OUTPUT);
pinMode(S3, OUTPUT);
pinMode(sensorOut, INPUT);
digitalWrite(S0,HIGH);
digitalWrite(S1,LOW);
Serial.begin(9600); Serial.println("ATcommand");
mySerial.begin(9600);
}
//
void loop() {
//빨강
digitalWrite(S2,LOW); digitalWrite(S3,LOW);
redFrequency = pulseIn(sensorOut, LOW);
Serial.print("R="); Serial.println(redFrequency);
delay(delaysec);
//파랑
digitalWrite(S2,LOW); digitalWrite(S3,HIGH);
blueFrequency = pulseIn(sensorOut, LOW);
Serial.print("B="); Serial.println(blueFrequency);
delay(delaysec);
//
if(redFrequency <30 && blueFrequency < 255) {
Serial.println("RED");
(Serial.available());
{ //시리얼모니터에 입력된 데이터가 있다면
mySerial.write(Serial.read()); //블루투스를 통해 입력된 데이터 전달
}
}
if(redFrequency < 255 && blueFrequency <30) {
Serial.println("BLUE");
(Serial.available()); //시리얼모니터에 입력된 데이터가 있다면
mySerial.write(Serial.read()); //블루투스를 통해 입력된 데이터 전달
}
if (Serial.available()) { //시리얼모니터에 입력된 데이터가 있다면
mySerial.write(Serial.read()); //블루투스를 통해 입력된 데이터 전달
}
}
//
//---수신부
//
#include <SoftwareSerial.h>
int blueTx=2;
int blueRx=3;
SoftwareSerial mySerial(2,3);
//
void setup(){
Serial.begin(9600); Serial.println("ATcommand");
mySerial.begin(9600);
}
//
void loop() { //코드를 무한반복합니다.
if (mySerial.available()) { //블루투스에서 넘어온 데이터가 있다면
Serial.write(mySerial.read()); //시리얼모니터에 데이터를 출력
}
if (Serial.available()) { //시리얼모니터에 입력된 데이터가 있다면
mySerial.write(Serial.read()); //블루투스를 통해 입력된 데이터 전달
}
}
똑같은 코드를 왜 3개나 적었죠?
것도 첫번째 문장은 if도 어디로 도망가버리고..
코드 들여쓰기를 습관화 하세요
댓글 0
조회수 781등록된 댓글이 없습니다.