정보나눔

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

아두이노 모터코드 좀 도와주세요 ㅠㅠ
아두이노초보자 | 2017-06-12

음 제가 원하는 동작은 변수 200이할 일 때 딱 5번 정회전하고, 200이 넘어가면 5번역회전을 구상하는중이 였습니다. 그런데 지금 변수가 만약 40 이 나오면 정회전 5번 하는데, 그 다음에 변수 39가 나오면 또 정회전 5번을 합니다. 저는 가만히 있는걸 원하거든요(200이상 나올때 까지) ㅠㅠ 혹시 다음 코드에서 어떤걸 고쳐야 할까요?? 네마17모터에 l298n드라이버를 사용중입니다.

#include <Stepper.h>
//ENA - 9
// IN1 - 2
// IN2 - 3
// IN3 - 4
// IN4 - 5
// ENB - 10

#define STEPS 200

Stepper stepper(STEPS, 2, 3, 4, 5);

void setup()  // 초기화
{
  Serial.begin(9600);  // 시리얼 통신속도 9600bps 설정
    stepper.setSpeed(100);
  pinMode(10, OUTPUT);
  pinMode(9, OUTPUT);

                 /* 조도 센서에 출력 되는 아날로그 값을 읽어 들여 텍스트 LCD에 출력하도록 한다. */
void loop()  // 무한 루프
{
  int sensorValue = analogRead(A0);  // A0번 핀(Pin)에 아날로그 전압을
                                                // 디지털 값으로 변환 후 sensorValue에 저장
  Serial.print("[LKE LAB]  value : ");   // 시리얼 모니터에 출력할 내용
  Serial.println(sensorValue);         // 시리얼 모니터에 sensorValue 값 출력
  if(sensorValue>200){
  digitalWrite(9,HIGH);
  stepper.step(1000);
  delay(1000);
}
else{
  digitalWrite(10,HIGH);
  stepper.step(-1000);
  delay(1000);
 }
}

이전글   |    가능한 메모리 부족으로 실행을 못시키고 있습니다 부탁드려요... 2017-06-12
다음글   |    아두이노 이더넷 쉴드를 통해 통신 가능한가요?... 2017-06-12