전체상품목록 바로가기

본문 바로가기


현재 위치
  1. 게시판
  2. 상품 Q&A

상품 Q&A

상품 Q&A입니다.

상품 게시판 상세
제목 리니어레일 문의
작성자 싸이피아 (ip:)
  • 평점 0점  
  • 작성일 2022-05-24 13:58:26
  • 추천 추천하기
  • 조회수 128

 속도를 멈추실려면 아래 코드를 실행시키면 됩니다.


Speed = 0; 
HCMotor.DutyCycle(0, Speed);



[ Original Message ]

// 리미트스위치를 사용한 왕복구동 실험



#include <HCMotor.h>

#include <MsTimer2.h>



#define DIR_PIN 8 //스텝모터드라이버 DIR 연결핀

#define CLK_PIN 9 //스텝모터드라이버 CLK 연결핀


#define LLIMIT_PIN 2

#define RLIMIT_PIN 3

double incomingByte = 0; // for incoming serial data

int Speed = 10;

unsigned long TIME = 0;

unsigned long TIME2 = 0;//물어본 시간을 저장할 변수



HCMotor HCMotor;


void setup()

{

  Serial.begin(115200);

  TIME = millis();

 

  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 (digitalRead(LLIMIT_PIN) == LOW)

    HCMotor.Direction(0, FORWARD);

  else if (digitalRead(RLIMIT_PIN) == LOW)

    HCMotor.Direction(0, REVERSE);

  else if (Serial.available() > 0) {

    // read the incoming byte:

    incomingByte = Serial.read();

    float interval = (incomingByte * 125) + 56000;

    unsigned long TIME2 = millis();

    //   if((TIME2-TIME) >= interval)

    //      {

    //        while(1)Speed = 0;

    //

    //      }

    //   else {

    //    if (digitalRead(LLIMIT_PIN) == LOW)

    //    HCMotor.Direction(0, FORWARD);

    //  else if (digitalRead(RLIMIT_PIN) == LOW)

    //    HCMotor.Direction(0, REVERSE);

    //    }

    if (!((TIME2 - TIME) >= interval)) {

      if (digitalRead(LLIMIT_PIN) == LOW)

        HCMotor.Direction(0, FORWARD);

      else if (digitalRead(RLIMIT_PIN) == LOW)

        HCMotor.Direction(0, REVERSE);


    }

    while (1) {

      delay(1000);

      Speed = 0;

    }

  }

 

  HCMotor.DutyCycle(0, Speed);

}



while(1) 반복문이 돌면서 Speed = 0;을 계속 실행하게끔 코드를 구현했는데도 2초정도 멈췄다가 다시 움직이기 시작합니다. 혹시 해당 리니어 레일은 소프트 웨어로 완전히 멈추는 동작을 실행할 수 없는지 알 수 있을까요?


첨부파일
비밀번호 삭제하려면 비밀번호를 입력하세요.
댓글 수정

비밀번호 :

/ byte

비밀번호 : 확인 취소

댓글 입력
댓글달기 이름 : 비밀번호 : 관리자답변보기

영문 대소문자/숫자/특수문자 중 2가지 이상 조합, 10자~16자

/ byte

왼쪽의 문자를 공백없이 입력하세요.(대소문자구분)

회원에게만 댓글 작성 권한이 있습니다.

관련 글 보기

관련글 모음
번호 상품명 제목 작성자 작성일 조회
3779 400 리니어레일 슬라이드 CNC 엑추에이터 아두이노 수직이송 및 속도제어 관련 문의 박**** 2024-01-19 67
3780    답변 수직이송 및 속도제어 관련 문의 싸이피아 2024-01-19 69
3667 400 리니어레일 슬라이드 CNC 엑추에이터 아두이노 비밀글 리니어레일 dip 스위치 문의 박**** 2023-11-23 2
3668    답변 비밀글 리니어레일 dip 스위치 문의 싸이피아 2023-11-23 5
3633 400 리니어레일 슬라이드 CNC 엑추에이터 아두이노 비밀글 리니어레일이 작동을 안해요 김**** 2023-11-09 4



앗! 화면폭이 너무 좁아요.
브라우져의 사이즈를 더 늘여주세요~

좁은 화면으로 보실 때는 모바일 기기에서
최적화된 화면으로 쇼핑을 즐기실 수 있어요~

     

    CUSTOMER CENTER

    BANK INFO

    • 예금주