안드로이드와 아두이노를 블루투스를 연동을 하고 나서 데이터 통신을 하니까 로그창에 이렇게 뜹니다.
예를 들어서 "90"입력하면 아두이노에서 "90"값을 받아서 그 값을 안드로이드 반환하게
코드를 구성하였습니다.
로그창에 다음과 같이 출력이 되는 이걸 어떻게 수정 해야되는지 모르겠어서 질문 드립니다.
<로그캣 창>
D/Activity_Bluetooth: Activity_Bluetooth received : C������������������������������������������������������������������������������������������������������������������������������
Activity_Bluetooth received : C������������������������������������������������������������������������������������������������������������������������������
Activity_Bluetooth received : C������������������������������������������������������������������������������������������������������������������������������
<아두이노>
#include <SoftwareSerial.h>
int BlueTX = 6;
int BlueRX = 7;
SoftwareSerial BTSerial(BlueTX,BlueRX); // 블루투스 설정 BTSerial(TX,RX)
//motor A connected between A01 and A02
//motor B connected between B01 and B02
int STBY = 10; //standby
//Motor A
int PWMA = 3; //Speed control
int AIN1 = 9; //Direction
int AIN2 = 8; //Direction
//Motor2
int PWMB = 5; //Speed control
int BIN1 = 12;
int BIN2 = 13;
int speed = 0; // speed를 0으로세팅
void setup(){
pinMode(STBY, OUTPUT);
pinMode(PWMA, OUTPUT);
pinMode(AIN1, OUTPUT);
pinMode(AIN2, OUTPUT);
pinMode(PWMB, OUTPUT);
pinMode(BIN1, OUTPUT);
pinMode(BIN2, OUTPUT);
Serial.begin(9600);
//Serial.println("speed 0 to 255 ");
BTSerial.begin(9600);
BTSerial.println("speed 0 to 255 ");
}
void loop() {
while(BTSerial.available()) {
char c = BTSerial.read();
if ( c == 's' ) {
speed = BTSerial.parseInt();
if(speed >=0 && speed <=255) {
BTSerial.println("Current speed : "+ String(speed)); //
digitalWrite(AIN1,HIGH);
digitalWrite(AIN2,LOW);
digitalWrite(BIN1,HIGH);
digitalWrite(BIN2,LOW);
digitalWrite(STBY,HIGH);
analogWrite(PWMA, speed);
analogWrite(PWMB, speed);
}
}
}
}