질문게시판 > 아두이노 블루투스 모터제어 질문

TODAY701 TOTAL241,216
사이트 이용안내
Login▼/회원가입
포럼 동영상강좌 회원가입


BASIC4MCU 후원업체 최신 정보

BASIC4MCU | 질문게시판 | 아두이노 블루투스 모터제어 질문

페이지 정보

작성자 master 작성일2018-07-10 09:43 조회328회 댓글0건

본문

	

안녕하세요.

아두이노 우노 r3, DC5V 아두이노 호환 180도 서보모터, HC-06를 이용해서 어플 스토어에 있는 안드로이드 블루투스 컨트롤 이라는 어플을 이용해서 on을 누르면  모터가 90도 회전하게 되어 일자가 되고 off을 누르면 모터와 십자가가 되게 180도 혹은 0도가 되게 하고싶습니다.

저는 HC-06은 아두이노 우노의 6번 RX 5번에는 TX를 꽂아서 사용하려고 합니다. 서보모터는 예제와 같이 7번을 사용하려고 합니다.

#include<Servo.h> //Servo 라이브러리를 추가
Servo servo;      //Servo 클래스로 servo객체 생성
int value = 0;    // 각도를 조절할 변수 value


void setup() {
  servo.attach(7);     //맴버함수인 attach : 핀 설정
  Serial.begin(9600); //시리얼 모니터 사용 고고
}
 
void loop() {
  if(Serial.available())      //시리얼 모니터에 데이터가 입력되면
  {
    char in_data;             // 입력된 데이터를 담을 변수 in_data
    in_data = Serial.read(); //시리얼모니터로 입력된 데이터 in_data로 저장
    if(in_data == '1')        //입력된 데이터가 1이라면
    {
      value += 90;            //각도를 30도 증가시킨다.
      if(value == 180)        //각도가 180도가 되면 (150도보다 커지면)
        value = 0;            //각도를 0으로 초기화
    }
    else                      //그외의 데이터가 입력되면
      value = 0;              //각도를 0으로 초기화
     
    servo.write(value); //value값의 각도로 회전. ex) value가 90이라면 90도 회전
  }
}
이 예제는 아두이노 시리얼 모니터에 정해진 입력값을 주면은 모터가 제어되는 예제입니다.

이 예제에서 블루투스를 이용할 수 있게 코드를 집어넣고 시리얼모니터가 아닌 어플리케이션의 온 오프를 이용해서 모터를 제어하고 싶습니다. 어떤 코드를 추가해야 되는지 감이 안잡힙니다. 도와주세요 ㅠㅠ

 

//

 

// DateTime : 2018-06-29 오전 2:18:57
// by Ok-Hyun Park
//
SoftwareSerial BTSerial(5,6); //5<---HC-06_Tx, 6--->HC-06_Rx  
#include <Servo.h>
Servo servo;
//
void setup(){
  servo.attach(9);
  Serial.begin(9600);
  BTSerial.begin(9600);
}
//
void loop(){
  if(BTSerial.available()){
    char r=BTSerial.read();
    //
    if(r=='0')servo.write(0);
    if(r=='1')servo.write(180);
  }
}

 

서보모터는 내 맘대로 핀을 정하는 것이 아니고 PWM핀을 사용해야합니다.

 

앱에서 '0'을 보내면 0도, '1'을 보내면 180도로 이동하도록 작성했습니다.

1문자를 전송해야지 편합니다. 

'0'.'1'대신 알파벳을 사용해도 되겠죠


 

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글 0

조회수 328

등록된 댓글이 없습니다.

질문게시판HOME > 질문게시판 목록

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.

ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
게시물 검색

Privacy Policy
MCU BASIC ⓒ 2017