?>

Hard Copy World

HCW

Q&A

Home > Forum >

Q&A

질문 | 아두이노 압력센서 여러게 값 전송..

페이지 정보

작성자 kkii11 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일19-04-10 14:02 조회799회 댓글1건

본문

아두이노 압력센서 다중값 받기.




안녕하세요 아두이노랑 안드로이드를 이용해서 압력센서 5개의 센서를 각각 표현하고싶습니다 예를들면 텍스트뷰1에는 1번압력센서 2에는2번압력센서 값만표현하고싶은대 지금 저희코드에서는 텍스트뷰1에 모든 압력센서의값이 다나오고 각각 분리를 하는법을 알수없어서 질문 남깁니다..




저희 아두이노 코드입니다

#include
SoftwareSerial BTSerial(2, 3); // SoftwaeSerial(RX, TX)

const int sensor0 = A0;
const int sensor1 = A1;
const int sensor2 = A2;
const int sensor3 = A3;
const int sensor4 = A4;
const int sensor5 = A5;
const int sensor6 = A6;
const int sensor7 = A7;
const int sensor8 = A8;
const int sensor9 = A9;
const int sensor10 = A10;
const int sensor11 = A11;

int Value[3][4] = {0};

int count = 0;

void setup(){
Serial.begin(9600);
BTSerial.begin(9600);

Value[0][0] = analogRead(sensor0);
Value[0][1] = analogRead(sensor1);
Value[0][2] = analogRead(sensor2);
Value[0][3] = analogRead(sensor3);

Value[1][0] = analogRead(sensor4);
Value[1][1] = analogRead(sensor5);
Value[1][2] = analogRead(sensor6);
Value[1][3] = analogRead(sensor7);

Value[2][0] = analogRead(sensor8);
Value[2][1] = analogRead(sensor9);
Value[2][2] = analogRead(sensor10);
Value[2][3] = analogRead(sensor11);
}

void loop(){
for(int i=0; i<3; i++) {
for(int j=0; j<4; j++) {
Serial.println(Value[i][j]);
BTSerial.println(Value[i][j]);

}
}
delay(1500);
}




안드로이드

bt.setOnDataReceivedListener(new BluetoothSPP.OnDataReceivedListener() { //데이터 수신
public void onDataReceived(byte[] data, String message) {
((TextView) findViewById(R.id.textView)).setText(message);
((TextView) findViewById(R.id.textView1)).setText(message);
((TextView) findViewById(R.id.textView2)).setText(message);
((TextView) findViewById(R.id.textView3)).setText(message);
}
});

이런식으로 했더니 데이터 수신이 텍스트뷰 123에 모두다 똑같은값이 뜹니다 나눌수있는방법이 없을까요?

댓글목록

최고관리자님의 댓글

최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일

보낼 때 배열에 있는 값을 하나하나 적어줬다면 (A, B, C, D...) 아래처럼 메시지가 전달됩니다.
 ABCD...
안드로이드에서 받을때도 위 문자열을 한번에 받습니다. 따라서 받은 값을 다시 배열로 나눈 다음에 textView 에 표시하셔야 합니다. 값을 보낼 때 적당히 구분자를 넣어서 보내든지 byte 단위로 값을 기록해서 보내야 합니다.