코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
아두이노 블루투스를 통한 안드로이드폰 화면에 측정값 띄우기
정해종 | 2016-10-30
|
|
---|---|
제가 하려고하는게 3축 가속도센서 asxl335를 이용하여 각도를 일정범위 지정하여 그 범위안에 들어갔을때 숫자가1씩 늘어나고 그숫자를 블루투스를 통한 앱인벤터를 이용하여 안드로이드폰 화면에 숫자가 1씩증가하는걸 만드려합니다 아두이노와 안드로이드간의 채팅기능을 이용해서 하려고하는데요
int count; float x,y,z; SoftwareSerial mySerial(2, 3); // RX, TX
count=0; Serial.begin(9600); }
x = analogRead(0); y = analogRead(1); z = analogRead(2);
// 실수형으로 변수 선언하고 스케치 맨 하단 mapinfloat 함수를 호출을 통해 변환 // 그리고-1~ 1사이를 벗어나지 않도록 constrain처리 float xsintheta =constrain(mapinfloat(x,268,406,-1,1),-1,1); float ysintheta =constrain(mapinfloat(y,267,406,-1,1),-1,1); float zsintheta =constrain(mapinfloat(z,275,412,-1,1),-1,1); // -1~1 사이의 값을 각도 값으로변환 float xtheta = asin(xsintheta)*180/PI; float ytheta = asin(ysintheta)*180/PI; float ztheta = asin(zsintheta)*180/PI;
Serial.print("x: "); Serial.print(xtheta ); Serial.print(" "); Serial.print("y: "); Serial.print(ytheta); Serial.print(" "); Serial.print("z: "); Serial.println(ztheta);
{ tone(speakerPin, 440,1000); count++; Serial.println(count); delay(3000); }; ///시리얼모니터-->아두이노-->블루투스 모듈 시리얼정보를 블루투스시리얼에 입력
return (x - iMin) * (oMax - oMin) / (iMax - iMin) + oMin; } 제가 사용한 소스입니다. 블루투스부분을 어떻게 고쳐야 숫자카운트가 핸드폰화면에 나타날까요? 그리고 블루투스 코드쪽만 입력했을때는 아두이노와 안드로이드간의 대화하는데 있어 문제가 없었는데 가속도센서를 추가하니 위에보이는 xyz축의 각도데이터가 빠르게 진행되다보니 대화하는데있어 문제가 있는거같습니다 이부분도 어찌해야하는지 궁금합니다. 제발 답변 부탁드립니다.ㅜㅜ! 앱인벤터를 이용한 안드로이드와 아두이노의 채팅되는것을 이용하여 데이터를 받으려합니다 |
|
이전글 | 라즈베리파이 기상청 LCD질문좀 하겠습니다.... | 2016-10-28 |
다음글 | 런던시티 키트 회로 연결 | 2016-10-30 |