질문게시판 > 리니어레일+적외선 리모컨+리미트스위치 질문입니다!

인기검색어 > 아두이노 센서 ATMEGA128

최신글 질문게시판 동영상강좌 가입하기

▼ BASIC4MCU 후원업체 신제품 정보 ▼

▲ BASIC4MCU 후원업체 신제품 정보 ▲

BASIC4MCU > 질문게시판

리니어레일+적외선 리모컨+리미트스위치 질문입니다!

페이지 정보

작성자 capstone돌모자 작성일20-11-21 18:20 조회7,891회 댓글1건

본문

#include <IRremote.h>

#include <Stepper.h>

int stepsPerRevolution = 200; 

int control;

 

Stepper motor1(stepsPerRevolution, 8, 9);

Stepper motor2(stepsPerRevolution, 10, 11);

#define LIMIT_PIN 3

int RECV_PIN = A0;   

IRrecv irrecv(RECV_PIN);    

decode_results results;

void setup()

{

     irrecv.enableIRIn();

     digitalWrite(0,LOW);

     pinMode(8, OUTPUT);

     pinMode(9, OUTPUT);

     pinMode(10, OUTPUT);

     pinMode(11, OUTPUT);

     pinMode(LIMIT_PIN, INPUT); 

     

     motor1.setSpeed(1200);

     motor2.setSpeed(1200);

     Serial.begin(9600);

}

void loop()

{

    if (irrecv.decode(&results))

    {

      Serial.println(results.value,HEX);

      if((results.value == 0xFF6897)||(results.value == 0xFF30CF)||(results.value == 0x97483BFB)||(results.value == 0xFFE01F))    

      {

         control=1;    

      }

      else if((results.value == 0xFF6897)||(results.value == 0xFF5AA5)||(results.value == 0xFF4AB5)||(results.value == 0xFF52AD))    

      {      

        control=2;    

      }

      irrecv.resume(); 

    }

    if (control==1)    

    {      

      motor1.step(1);      

      motor2.step(1);    

    }

    else if(control==2)    

    {      

      motor1.step(-1);      

      motor2.step(-1);          

    }

    else if(digitalRead(LIMIT_PIN) == LOW)

    {

       motor1.step(0);

       motor2.step(0); 

       delay(500);

       motor1.step(-1);      

       motor2.step(-1);

       delay(1000);

       motor1.step(0);

       motor2.step(0);

    }

}

 

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 

적외선 리모컨으로 레일을 이동시키고 리미트 스위치에 물체가 닿으면 정지했다가 딜레이 후 반대방향으로 잠깐 움직였다가 레일이 다시 멈추게 하는 코드를 짰습니다.

하지만 리미트 스위치에 닿으면 정지만 하고 원하는대로 역방향으로 움직이거나 하지 않습니다.

리미트 스위치 자체에 정지하는 기능만 있어서 코드가 그 상태에서 종료되는지 궁금합니다.

아니라면 원하는 방식대로 구현하도록 하는 코딩이 있을지 조언 부탁드립니다 ! :)

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

댓글 : 1

조회수 : 7,891

master님의 댓글

master 작성일

딜레이를 준다고 모터가 이동하는 것이 아닙니다.
//
      motor1.step(0);
      motor2.step(0);
스텝0 제어는 아무런 의미가 없습니다.
스텝모터의 정지는 스텝신호를 주지 않으면 정지입니다.
//

      motor1.step(-1);     
      motor2.step(-1);
      delay(1000);
잠깐 움직이는 코드가 이 것 이겠죠?
만약 1초동안 -100스텝 정도 움직이고 싶다면
    for(int i=0;i<100;i++){ motor1.step(-1);  motor2.step(-1); delay(10); }
만약 1초동안 -1000스텝 정도 움직이고 싶다면
    for(int i=0;i<1000;i++){ motor1.step(-1);  motor2.step(-1); delay(1); }
만약 1초동안 -10스텝 정도 움직이고 싶다면
    for(int i=0;i<10;i++){ motor1.step(-1);  motor2.step(-1); delay(100); }

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[28] master  17-10-29
질문 아두이노 lcd 디지털시계 (도와주시면 감사하겠습니다!… 첨부파일김리 새글 05:43
질문 아두이노 디지털 시계 첨부파일1233 새글 02:03
질문 dfplayer 블루투스 연결 앱인벤터 첨부파일아두이노우 새글 01:28
질문 아두이노 LCD 글자 출력질문입니다. Tell 새글 23-06-10
답변 답변 : 아두이노 LCD 글자 출력질문입니다. master 새글 23-06-10
질문 아두이노 delay함수를 millis함수로 대체하는방법 댓글[1] 첨부파일이게아닌데 새글 23-06-09
답변 답변 : 아두이노 delay함수를 millis함수로 대… master 새글 23-06-09
질문 atmega128 적외선센서 관련질문입니다. 댓글[7] 춘배  23-06-08
질문 아두이노 whillis 함수 delay처럼 사용하는방법… 댓글[1] 이게아닌데  23-06-08
질문 아두이노 로드셀 질문 댓글[3] 첨부파일아두이노노노논  23-06-08
질문 아트메가 128 DHT22온도센서 댓글[1] tmet  23-06-08
질문 압력센서에 따른 진동모터를 버튼으로 제어 회로도 질문 도와주세용용  23-06-07
질문 아두이노 리니어 제어 모듈 설계중입니다. 도와주세요 갓비타  23-06-06
답변 답변 : 아두이노 리니어 제어 모듈 설계중입니다. 도와… master  23-06-07
질문 dc모터 제어 관련 질문 드려요 ㅠㅠ!! 댓글[2] dpwl  23-06-06
답변 답변 : dc모터 제어 관련 질문 드려요 ㅠㅠ!! master  23-06-07
질문 pixy2 cam 을 이용한 색상인식 모터 제어 댓글[1] 가나다라  23-06-05
질문 안녕하세요 제품 품목 이름에 대해서 궁금합니다. 첨부파일알려주시면감사합니다  23-06-05
질문 Atmega128 온도센서로 led제어 질문드려요 댓글[1] 첨부파일얍얍  23-06-05
질문 아구이노 코드를 atmega 128 코드로 변환 하고 … 댓글[1] 기로롱  23-06-05
질문 atmega128 uart 질문입니다. 댓글[1] bme12  23-06-05
질문 라즈베리파이에 풀 프레임 이미지센서 활용에 대한 질문이… 댓글[1] 첨부파일KYLO  23-06-04
질문 아두이노 시리얼 번호를 이용해 led 제어 wnion  23-06-04
답변 답변 : 아두이노 시리얼 번호를 이용해 led 제어 master  23-06-07
질문 ATMEGA128 혹시 여기서 왜 인터럽트 기능이 안되… 댓글[1] IEEE  23-06-04
질문 stm32f767을 이용해서 자이로가속도 센서의 값 받… 댓글[1] rlchwjswk  23-06-03
질문 아두이노 모터제어 관련해서 질문드립니다! 댓글[1] 첨부파일아두이노어렵잖아  23-06-03
질문 atmega128 디지털조도센서 코드오류 댓글[1] 까미  23-06-02
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전