저 서보모터 제어어플를 약간 수정해서 사용하고 싶은데... apk파일이라서 수정이 안되네요. 혹시 메일로좀 보내
주실 수 있으신지요??(이메일 : lateinos12@naver.com)
코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
2015-03-20 10:19:41
* 이 컨텐츠를 보시기 전에 안드로이드와 아두이노 간의 블루투스 통신 기초를 보고 오시기 바랍니다.
안드로이드와 아두이노 간의 블루투스 통신 기초에서 아두이노 블루투스 모듈을 이용하여 안드로이드와 블루투스 통신을 해보았습니다. 이제부터 간단한 예제들을 통해서 아두이노의 각 부품들을 제어해 보겠습니다.
지난번 컨텐츠에서는 아두이노에 3색 LED를 연결하여 안드로이드에서 3가지 색을 각각 제어하는 예제를 실습해 보았습니다. 이번 컨텐츠에서는 아두이노에 서보모터를 연결하여 안드로이드의 기울기 센서와 버튼을 통해 제어해보는 예제를 실습해 보겠습니다.
NO | 부품명 | 수량 | 상세설명 |
1 | 오렌지 보드 | 1 | |
2 | 블루투스 모듈 | 1 | HC-05 |
3 | 서보 모터 | 1 | SG90 |
4 | 브레드보드 | 1 | |
5 | 점퍼케이블 | 9 |
부품명 | 오렌지 보드 | 블루투스 모듈 | 서보 모터 | 브레드보드 | 점퍼케이블 |
파트 |
#include // 블루투스 통신을 위한 SoftwareSerial 라이브러리를 불러온다.
#include // 서보모터를 이용하기 위한 Servo 라이브러리를 불러온다.
SoftwareSerial BTSerial(2, 3); // SoftwareSerial(RX, TX)
byte buffer[1024]; // 데이터 수신 버퍼
int bufferPosition; // 버퍼에 기록할 위치
Servo servo;
int motorAngle = 0;
int servoVal = 0;
int servoAngle = 90;
void setup () {
servo.attach(9);
BTSerial.begin(9600);
Serial.begin(9600);
bufferPosition = 0;
}
void loop () {
if (BTSerial.available()) {
byte data = BTSerial.read();
buffer[bufferPosition++] = data;
Serial.println(data);
switch(data){
case 'w':
angleSet(0);
break;
case 'e':
angleSet(1);
break;
case 'j':
angleWrite(0);
break;
case 'i':
angleWrite(45);
break;
case 'k':
angleWrite(90);
break;
case 'o':
angleWrite(135);
break;
case 'l':
angleWrite(180);
break;
case '\n':
bufferPosition = 0;
break;
}
}
}
void angleSet(boolean flag){ // 안드로이드 기울기값을 통해 서보모터를 제어하는 함수
if(buffer[0] != 10){
if (bufferPosition == 4) {
motorAngle = (buffer[0]-48)*100 + (buffer[1]-48)*10 + (buffer[2]-48);
}
else if (bufferPosition == 3) {
motorAngle = (buffer[0]-48)*10 + (buffer[1]-48);
}
else if (bufferPosition == 2) {
motorAngle = buffer[0] - 48;
}
if(flag){
motorAngle *= -1;
}
Serial.print("motorAngle = ");
Serial.println(motorAngle);
motorAngle = map(motorAngle, 150, -150, 30, 150);
servo.write(motorAngle);
}
}
void angleWrite(int angle){ // 버튼을 통해 서보모터를 제어하는 함수
servo.write(angle);
}
아두이노에 블루투스 모듈을 연결하고 안드로이드에서 블루투스 페어링 하는 방법은 이전 컨텐츠 '안드로이드와 아두이노 간의 블루투스 통신 기초 - 1. LED불 깜박이기' 에서 소프트웨어 설명을 보시기 바랍니다.
안드로이드에서 블루투스 모듈과 페어링 하시고, 안드로이드 어플(BT_Servo.apk)을 받으셔서 설치 / 실행 하신 후 블루투스 연결까지 하시면 밑의 사진과 같이 화면이 나옵니다.
0, 45, 90, 135, 180 버튼은 서보모터를 각각 해당하는 숫자 만큼 움직이는 버튼이고, 밑의 SensorMode 버튼은 스마트폰의 기울기 센서를 이용한 서보모터 각도 제어를 On / OFF 하는 버튼입니다.
switch(data){
case 'w':
angleSet(0);
break;
case 'e':
angleSet(1);
break;
case 'j':
angleWrite(0);
break;
case 'i':
angleWrite(45);
break;
case 'k':
angleWrite(90);
break;
case 'o':
angleWrite(135);
break;
case 'l':
angleWrite(180);
break;
case '\n':
bufferPosition = 0;
break;
}
Switch~case문을 이용하여 안드로이드에서 보낸 명령에 맞는 동작을 하는 코드입니다. j, i, k, o, l 이 5개 명령은 어플에 각도 버튼 5개에 해당하는 명령이고, w, e 는 기울기 센서를 사용할 경우 오른쪽, 왼쪽에 해당하는 명령입니다.
각도 버튼에 해당하는 명령어들은 해당 각도에 맞게 이동하도록 write해주시면 되고, 기울기 센서를 이용하실 경우 이전 컨텐츠 블루투스를 이용하여 3색 LED를 제어하는 것을 보시고 안드로이드에서 보낸 숫자를 확인하는 방법을 참고하시면 됩니다.
이 컨텐츠를 응용하여 아두이노의 다른 부품을 제어하실 경우 기울기 센서를 이용할 경우 w(오른쪽), e(왼쪽) 값이 들어가고, 버튼을 이용할 경우 j, i, k, o, l 을 사용하니(왼쪽부터) 코드를 참고 하셔서 문자값(명령어)를 이용하여 제어하시면 됩니다.
(안드로이드 어플을 수정하실 수 있으셔서 어플에 대한 코드가 필요하신 분은 댓글로 문의 남기시면 직접 보내드립니다.)
* 다음 컨텐츠에서는 아두이노에 모터쉴드와 DC모터를 연결하여 안드로이드에서 방향 + 속도를 제어해 보겠습니다.
kocoafabeditor
항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!
저 서보모터 제어어플를 약간 수정해서 사용하고 싶은데... apk파일이라서 수정이 안되네요. 혹시 메일로좀 보내
주실 수 있으신지요??(이메일 : lateinos12@naver.com)
안녕하세요 저는 이런 어플을 통해 쿼드콥터를 제어하려고 하는 전자공학과 학생입니다.
어플을 조금 수정해서 만들어보고 싶어서 문의 드립니다.
시간되시면 메일로 보내주시면 감사하겠습니다.
(skdmlwlq100@naver.com)
안녕하세요? 좋은 자료 잘 보고 있습니다 이번 블루투스모듈을 이용해서 제어하는 서보모터 코드를 받을 수 있나 해서 글 올려 봅니다. 감사합니다 (music6842@naver.com)
안녕하세요 좋은 정보 잘 보고 있습니다. 이번에 서보 모터 제어를 이용해서 작품을 하나 만들려고 하는데 안드로이드 소스를 참고하고 싶은데, 안드로이드 소스를 받을 수 있나 싶어 문의 드립니다.
메일로 보내주시면 감사하겠습니다.(jaep17@naver.com)
안녕하세요. 좋은 정보 잘 봤습니다. 저도 이번에 서보 모터 제어를 이용해서 작품을 만드려고 하는데 안드로이드 소스를 받을수 있을까요? 부탁드립니다.. 시간되시면 보내주세요
(zipqwer2000@hanmail.net)
판다마니아님 좋은 정보 잘 보고 있습니다. 서보 모터를 원격으로 제어하는 작품을 제작중에 있습니다. 괜찮으시면 안드로이드 소스를 얻을 수 있을까요? 감사합니다. (bruno.kim02@gmail.com)
아두이노를 활용하여 스마트원격 도어락 제어를 사용하기위해 서보모터를 사용하고있는데요
안드로이드 코딩 소스좀 알수 있을까요?
(uzoayoe@gmail.com)
안녕하세요! 안두이노로 문 잠금장치 제어 설계하고싶은 전기공학부 학생입니다. 안드로이드 앱을 처음 접하는데요. 코딩을 참고하고싶어서 문의 남깁니다. 서보모터 코딩과 함께 다른 블루투스 앱 코딩도 공부해보고 싶습니다~ psj911122@naver.com 부탁드립니다~
안녕하세요? 올려주신 내용으로 공부하는 학생입니다. 안드로이드와 아두이노 간의 블루투스 통신 기초 포스팅에 있는 안드로이드 스튜디오 어플 코딩보내 주실 수 있으신가요? (이메일은 spfhstidls@gmail.com)
안녕하세요? 아두이노로 RC카를 만드려는 학생입니다. BT_Servo.apk 어플 소스를 보내주시면 감사하겠습니다. (radon99@naver.com)
안녕하세요 좋은글 잘봤습니다. 제가 아두이노 센서값들을 안드로이드 edittext 뷰에 받아오려고하는 작업을 하려는데 우선적으로 센서값을 안드로이드에서 확인해보고 싶은데 안드로이드 기본 소스좀 보내주실수있으신지요 ?? 조도나 온도센서같은 일정한 값을 확인해보고 싶습니다 블루투스를 이용해서요 ㅠ 안드로이드쪽 소스를 모르곘어서 부탁드리겠습니다 thid89@naver.com 입니다
안녕하세요 저도 안드로이드 어플 공부중인데 소스 알수있을까요
seungyeng@hanmail.net 으로 보내주시면 정말로 감사하겠습니다.
안녕하세요, 이 강좌를 통해 많은 도움을 받고 있는 학생입니다. 저희 이번 프로젝트에 BT_Servo.apk 어플리케이션 이 많은 도움이 되는데요, 어떻게 구성되어있는지 소스를 보내주실 수 있나요? yhkk2585@naver.com 입니다. 감사합니다.!
안녕하세요! 안드로이드어플로 드론을 조종하고 싶은데 이 어플을 참고하려합니다. BT_Servo.apk 어플 소스를 보내주시면 도음이 많이 될 것 같습니다. dnddnjs11@naver.com 으로 보내주시면 감사할 것 같습니다!
안녕 하세요.. 공부를 하고 싶어서요..~~^^ BT_Servo.apk 어플 소스를 보내주신다면 많은 도움이 될 것 같습니다.
jacomyl@gmail.com 감사 합니다.
안녕하세요
스마트 폰 거치대 컨트롤러 [PART 1] 이것을 조이스틱 대신 블루투스 통신을 이용하여 만들어 보고싶습니다.
지식이 너무 부족해서 교육도 보고 대략적으로 구상은 되는데 서보모터 두개 코딩과 어플만드는 쪽에서 막혔는데
도움좀 받을수 있을까요..
jjangpkk@naver.com 부탁드립니다..
자료 잘보고 있습니다 감사합니다. 부탁이 있습니다. BT_Servo.apk 어플 소스나 안드로이드와 아두이노 간의 블루투스 통신 기초 포스팅에 있는 안드로이드 어플 코드들 (기초-1 ,2, 3) 보내 주실 수 있을런지요? (이메일은 kgh4803@nate.com)
안녕하세요 좋은 정보 정말 잘 보고 있습니다. 저희가 BT_Servo.apk를 이용하려고 하는데 안드로이드와 아두이노 블루투스 모듈 간의 연결하는 법을 잘 몰라 댓글 올립니다. 제가 알기론 그 둘을 연결하고 통신하는데 필요한 코드가 필요하다고 하던데 제 메일로 보내주실 수 있을런지요?? (이메일은 hankspark@naver.com)
안녕하세요 좋은 정보 잘 봤습니다. 이번에 블루투스를 이용한 서보 모터 제어하는 방법으로 작품을 하나 만들려고 하는데 안드로이드 소스를 참고하고 싶은데, 안드로이드 소스를 받을 수 있나 싶어 문의 드립니다.
메일로 보내주시면 감사하겠습니다.(yej3618@naver.com)
안녕하십니까! 좋은 글 감사합니다!!
저도 어플 소스를 좀 보내주시면 도움이 많이 될 것 같습니다!!
kimmail93@naver.com 로 시간이 가능하실 때 보내주시길 바랍니다!
감사합니다!!!
안녕하세요
이번에 아두이노 관련 프로젝트를 하고 있습니다.
이번 예제의 안드로이드 소스코드를 보면서 공부하고 싶습니다.
sh21kang@naver,com 으로 안드로이드 소스좀 부탁드립니다.
안녕하세요 저 안드로이드 스튜디오 공부중인데 소스좀 알수있을까요
메일은 jjangalvin@naver.com 입니다
보내주시면 정말 감사하겠습니다
안녕하세요 안드로이드 스튜디오 공부중에 찾아왔습니다.
소스 파일좀 받고싶습니다.
메일은 ckckckgfd5@naver.com 인데 보내주시면 정말 감사드리겠습니다..ㅠㅠ
대학생 작품에 안드로이드로 아두이노를 블루투스 통신하여 안드로이드를 제어하는것을 연구중인데 잘 안되서 소스를 참고하고 싶습니다 소스좀 보내주세요 dmstn1124@naver.com입니다 부탁드립니다~
안녕하세요. 저는 현재 직장인이면서 야간대학교를 다니고 있는 사람입니다. 제가 이번 대학교 졸업작품으로
아두이노와 블루투스를 통해서 자동차를 제어하려고 합니다. 기울기를 통해 핸드폰을 기울이면 서보모터가 같이 움직이는 장면이 인상적이었습니다. 안드로이드 어플을 조금 수정해서 사용하고 싶은데
소스좀 받아볼 수 있을까요..ㅠ frree@naver.com 입니다. 많은 도움이 될 것 같습니다. 감사합니다!
안녕하십니가 안드로이드 스튜디오 를 이용하여 아두이노를 제어하는 것을 실습하는중인데
소스 참고 하고싶습니다.
메일은 wjsrnrgussla@naver.com 입니다. 부탁드리겠습니다.
안녕하세요 이번에 학교 작품 준비하는 과정에서 안드로이드를 이용한 모터제이거가
필요한 상황인데 소스를 좀 보내주실 수 있으신가요....
zkqtoa@naver.com 과제를 하는데 있어 큰 도움이 될 것 같습니다....ㅜㅜ
안녕하세요 이것과 관련하여 공부중인데 도움을 받고 싶어서 소스코드를 참고하고 싶습니다
rmsdud3539@naver.com입니다. 감사합니당 ㅜㅜ
어플로 모터제어 하는 것을 공부 중인데 안드로이드 어플 소스를 참고하고싶은데 보내 주실수있나요??
yjung987@naver.com 입니다 보내주시면 감사하겠습니다!!
안녕하세요. 안드로이드 어플 소스를 조금 더 수정하고 개발해서 사용하고 싶은데요. 혹시 소스를 좀 보내 주실 수 있을까요? gkawlsdn12@naver.com 으로 보내 주시면 감사하겠습니다!
안녕하세요 혹시 안드로이드 어플 소스를 이용해서 공부를 하고 싶은데 혹시 소스를 보내주실 수 있을까요? yuyu413@naver.com으로 부탁드립니다!
오늘의주인공은나야나윤문식 2018-07-05 15:45:23
안녕하세요 안드로이드앱 소스 좀 받을 수 있을까요 ? 변형해서 실습 한 번 해보려구요! 이메일은 tjddnjsaa@naver.com 입니다 ㅎ
안녕하세요!개발하는데 어려움이 있어 그런데 안드로이드 소스 공유 해주실 수 있나요? graduate8282@gmail.com으로 부탁드려요!
자료들 잘보고있습니다. 이번에 블루투스로 서보모터를 제어해서 작동시키는 졸업작품을 만들고있는데 안드로이드 앱 소스좀 부탁드려도될까요? lsm9483@naver.com 입니다.
안드로이드 블루투스 소스좀 메일 보내주시면 감사하겠습니다..^^ . lanking@naver.com 안드로이드 공부중이라 절실히.. 필요해서요..
아두이노 코드의 analogSet 함수에서 아스키 코드를 이용해 버퍼를 읽는것보단 문자열을 실수형으로 바꿔주는 함수(atoi 같은)를 사용하는 것도 좋은 선택이라고 생각합니다.
안녕하세요! 이번에 대회준비에 어플소스를 참고하고싶습니다. 어플소스를 보내주시면 감사하겠습니다!
ymyhjh2@naver.com
감사합니다!
원종섭 2015-03-22 20:08:11
안녕하세요? 올려 놓으신 내용 잘 보고 있습니다. 안드로이드와 아두이노 간의 블루투스 통신 기초 포스팅에 있는 안드로이드 어플 코드들 (기초-1 ,2, 3) 보내 주실 수 있을런지요? (이메일은 wjsdw@dreamwiz.com)