

예제 블루투스로 스텝모터 제어
2015.03.15 17:55
개요
블루투스(컴퓨터 또는 안드로이드 폰)로 유니폴라 스텝모터를 제어해보자.
준비물
WAT-STEP1 [유니폴라스텝모터 구동 드라이버](설명) (구매)
블루투스 기본 예제 스터디(http://whiteat.com/Arduino/224919 )
시리얼통신 프로그램 ( http://whiteat.com/bSerialComCS/225993 )
안드로이드 블루투스어플(https://play.google.com/store/apps/details?id=com.whiteat.android.wat_bt_app1 )
보드 연결
WAT-Arduino128의 PORTA 와 WAT-STEP1 을 연결하고 WAT-STEP1 모듈에 12V 스텝모터용 전원을 연결합니다.
예제 열기
[파일] => [예제] => [WhiteAT] => [StepMotor] => [bluetooth] 을 엽니다.
/*
컴퓨터 또는 스마트폰으로 스텝모터 제어
5가지 형태의 커맨드
MnnnT 형태의 5bytes 이며 nnn 은 정수임
예>
시계방향 빠르게 회전 (M099T : 시계방향으로 딜레이 1로
회전 n=99)
시계방향 느리게 회전 (M001T : 시계방향으로 딜레이99로
회전 n=01)
정지 (M000T : 정지 n=0 )
반시계방향 느리게 회전 (M-01T:반시계방향으로
딜레이99로 회전 n=-1)
반시계방향 빠르게 회전 (M-99T:반시계방향으로 딜레이 1로 회전 n=-99)
출처: http://whiteat.com/Arduino
보드
WAT-Arduino128 : https://kit128.com/goods/view?no=64
WAT-STEP1 : https://kit128.com/goods/view?no=41
*/
#include <WAT_Multi.h>
#include <WAT_STEP1.h>
// STEP1 : 유니폴라 1상 여자 방식
// STEP2 : 유니폴라 2상 여자 방식
// STEP12 : 유니폴라 1-2상 여자
방식
Step1
step(STEP2,PA0,PA1,PA2,PA3);
// 프로그램 시작 - 초기화
작업
void setup()
{
Serial.begin(115200);
//시리얼 통신 초기화
Serial1.begin(9600);
// HC-06 용 시리얼
// key = 1234
Serial1.print("AT+NAME BT
- Whiteat.com\n");
}
void loop()
{
step.Next();
}
String inString;
void serialEvent1()
{
while (Serial1.available())
{
int inChar = Serial1.read();
if ( isAlphaNumeric(inChar) || inChar=='-')
{
inString += (char)inChar;
}
else if (inChar == '\n')
{
if(inString.length()>=5)
{
if(inString.charAt(0) =='M' && inString.charAt(4) =='T' )
{
inString = inString.substring(1,4);
step.setSpeed(inString.toInt());
Serial.print("Direction:");
Serial.print(step.DirString());
Serial.print(" , Turn Delay:");
Serial.println(step.getSpeed());
}
else
{
Serial.print("Bad Packet[Data:");
Serial.print(inString);
Serial.println("]");
}
}
else
{
Serial.print("Short Data Retry [Data:");
Serial.print(inString);
Serial.println("]");
}
inString = "";
}
}
}
디버깅 화면
블루투스에 연결된 컴퓨터 화면
M001T 를 보내면 시계방향으로 빠른 속도로 회전합니다.
안드로이드 블루투스 통신 화면