BASIC4MCU | 질문게시판 | 블루투스 간 통신 질문입니다
페이지 정보
작성자 새벽효 작성일2022-06-08 17:13 조회970회 댓글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);
mySerial.begin(9600);
Serial.println("ATcommand");
}
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);
mySerial.begin(9600);
Serial.println("ATcommand");
}
void loop() { //코드를 무한반복합니다.
if (mySerial.available()) { //블루투스에서 넘어온 데이터가 있다면
Serial.write(mySerial.read()); //시리얼모니터에 데이터를 출력
}
if (Serial.available()) { //시리얼모니터에 입력된 데이터가 있다면
mySerial.write(Serial.read()); //블루투스를 통해 입력된 데이터 전달
}
}
댓글 0
조회수 970등록된 댓글이 없습니다.