지금 안드로이드 스튜디오에서 만든 앱에서 버튼을 눌러 아두이노에 통신이 가게 하고싶은데 제 아두이노 코드입니다.
여기서 myString 값으로 입력을 받는데 위의 코드에서 데이터 전송부분을 바꿔봐도 아두이노 센서에는 반응이 없네요 어떻게 해야 하나요?
#include <SoftwareSerial.h> //시리얼 통신 라이브러리 호출
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int blueTx=2; //Tx (블투 보내는핀 설정)
int blueRx=3; //Rx (블투 받는핀 설정)
SoftwareSerial mySerial(blueTx, blueRx);
String myString=""; //받는 문자열
void setup() {
mySerial.begin(9600); //블루투스 시리얼 개방
}
void loop() {
while(mySerial.available()) //mySerial 값이 있으면
{
char myChar = (char)mySerial.read(); //mySerial int형식의 값을 char형식으로 변환
myString+=myChar; //수신되는 문자열을 myString에 모두 붙임 (1바이트씩 전송되는 것을 모두 붙임)
delay(5); //수신 문자열 끊김 방지
pinMode(13, OUTPUT);
}
if(!myString.equals("")) //myString 값이 있다면
{
Serial.println("input value: "+myString); //시리얼모니터에 myString값 출력
if(myString=="1") //myString 값이 '1' 이라면
{
tone(12, 600); // 도
digitalWrite(13, HIGH);
delay(700);
noTone(12);
digitalWrite(13, LOW);
lcd.init();
lcd.backlight();
lcd.setCursor(1, 0);
lcd.print("Delivery Order");
lcd.setCursor(1, 1);
lcd.print("Arrived");
delay(3000);
lcd.noBacklight();
lcd.init();
}
}
else {
}
myString=""; //myString 변수값 초기화
}
안드로이드 부분입니다
public void setup() {
Button btnSend = findViewById(R.id.btnSend); //데이터 전송
btnSend.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
bt.send("Text", true);
}
});
}