안녕하세요, 코드 분석은 해드리기 어렵습니다. 양해바라겠습니다.
[ Original Message ]
안녕하세요 이번에 cnc 액추에이터와 리니어레일 슬라이드 구동부품 세트를 구매하여
작업을 하는데 저는 블루투스 모듈을 사용하여 제작을 하고싶은데 막히는부분이있어 문의 드립니다.
첫번째로 질문 1번은
예를들어 블루투스 1번을 누르면 리니어레일이 위로 올라가고 끝점에 닿으면 멈추게 하고 .
블루투스 2번을 누르면 리니어레일이 아래로 내려가고 끝점에 닿으면 멈추게 하고싶습니다!
그렇게 코딩을 하던 도중 막히는 부분이 있어 예제를 봐도 알 수가 없어서 문의 드립니다..
아래는 제가 짠 코딩이며 , 혹시 틀린 부분이나 어디를 수정해야할까요 ?
그리고 질문 2번은
리니어 레일의 최고 속도를 내고싶다면 모터 드라이버 혹은 코딩 내부에서의 speed값을 어떻게 주어야최대값으로 나올수 있는지도 문의 드립니다!
#include <SoftwareSerial.h>
#include <HCMotor.h>
#define DIR_PIN 6
#define CLK_PIN 7
int TxPin = 2;
int RxPin = 3;
#define LLIMIT_PIN 4
#define RLIMIT_PIN 5
SoftwareSerial BTSerial(TxPin, RxPin);
HCMotor HCMotor;
int Speed = 5;
void setup()
{
Serial.begin(9600);
BTSerial.begin(9600);
HCMotor.Init();
HCMotor.attach(0, STEPPER, CLK_PIN, DIR_PIN);
HCMotor.Steps(0,CONTINUOUS);
HCMotor.DutyCycle(0,Speed);
pinMode(LLIMIT_PIN, INPUT);
pinMode(RLIMIT_PIN, INPUT);
}
void loop()
{
if(BTSerial.available())
{
char cmd = (char)BTSerial.read();
Serial.write(BTSerial.read());
if(cmd == '1'){
HCMotor.Direction(0, FORWARD);
}else if(cmd == '2'){
HCMotor.Direction(0, REVERSE);
}
}
if(Serial.available())
BTSerial.write(Serial.read());
}
회원에게만 댓글 작성 권한이 있습니다.