2014-11-20 3 views
0

이전 analoge 서보를 제어하는 ​​코드가 있으며 모두 잘 작동합니다. arduino와 다르게 반응하는 디지털 및 아날로그 서보

하지만 새로운 디지털 서보를 받았을 때, 그것은 위치를 유지하지 않지만 도와주세요, 무엇을 필요 0

로 복귀?

#include <Servo.h> 
Servo myservo; 
int pos = 0;  

void setup() 
{ 
myservo.attach(A1); 
} 

void loop() 
{ 
for(pos = 0; pos <= 180; pos++) // goes from 0 degrees to 180 degrees 
    {         // in steps of 1 degree 
    myservo.write(pos);    // tell servo to go to position in variable 'pos' 
    delay(15);      // waits 15ms for the servo to reach the position 
    } 
} 
+0

죄송하지만 ... 무엇을하기를 원하십니까? 이 스케치는 A1 채널에서 서보를 설정 한 다음 0 위치에서 빠르게 이동 한 다음 약 180 초 (약 2.7 초 소요)로 이동 한 후 다시 0 위치로 빠르게 이동합니다. 이게 너가하고 싶은거야? 아니면 고정 된 위치에 고정시키고 싶습니까? 어떤 위치? 어떻게 바꿀까요? – frarugi87

답변

0

오른쪽 루프 넣어위한 후 : 이것은에서 프로그램을 중지 루프 (의 폐쇄 브래킷 전에

while(1); 

) 다음

는 스윕의 기본 코드 베이 슨입니다 그 시점과 pos = 0을 매번 선언하는 for 루프를 계속 실행하지 마십시오.

0

이 질문은 약간의 unpresice였습니다.

하지만 서보를 제어하는 ​​또 다른 방법이 있다는 것을 알았습니다. 그 방법은 myservo.write (90) 대신 writeMicroseconds을 사용하는 것입니다.

myservo.writeMicroseconds(1500); // 

http://arduino.cc/en/Reference/ServoWriteMicroseconds

관련 문제