정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

아두이노 스텝 모터 제어 관련 질문입니다.
필즈수학원 | 2017-09-24

안녕하세요

제가 학교에서 3D 동아리를 하는데요

다름이 아니라 이번에 작은 동아리 대회를 나가게 되었습니다. 

만들어야 할 제품을 3D 프린터로 다 뽑긴 했는데, 프로그래밍에서 막혀서요..

스텝 모터를 쓰는데 스텝 모터를 멈추게 하는 명령어를 모르겠습니다...

급하게 준비한 거라 제품을 간단히 빨래걸이가 햇빛을 받으면 회전하도록 했습니다.. 

혹시 아시는 분은 빠른 답변 부탁드리겠습니다!

다음은 제가 작성한 프로그램입니다

#include <Stepper.h>
int sensorPin = A0 ; //포텐셔미터
int sensorValue = 0 ; //포텐셔미터 값
const int stepsPerRevolution = 1024; //1024는 180도를 의미 스텝모터가 한번 동작할 때마다 180을 움직이게 한다.
Stepper myStepper(stepsPerRevolution,11,9,10,8); //스텝 당 회전각도와 연결할 핀 번호를 설정 (IN4, IN2, IN3, IN1)

void setup() {
  myStepper.setSpeed(30); //스텝모터의 회전속도를 지정. 너무 빠르거나 느리면 탈조 현상일어남
  Serial. begin(9600);
  pinMode(9,OUTPUT);
}

void loop() {
  int cds = analogRead(A1);
  Serial.println(cds);
  sensorValue = analogRead(sensorPin); //포텐셔미터의 값을 읽는다
  delay(1);
  int sensorPinSpeed = map(cds, 0, 250, 0, 100); //0~250까지 들어오는 포텐셔미터의 아날로그 값을 0~100으로 매칭시킨다
  
  if(cds >= 200) //조도 센서값이 200이상일때
{
  Serial.println("clockwise");
  myStepper.step(-stepsPerRevolution); //스텝모터를 한스텝 작동시킨다
  delay(1000);
}
}
 else
 {
  //스텝모터를 멈춘다
 }

이전글   |    아두이노 완전 초심자인데 문자발송 프로그램 만들려고 합니다 조언좀 주실 수 있을까요... 2017-09-24
다음글   |    오렌지보드 wifi 사이즈가 알고싶습니다. 2017-09-25