안녕하세요 저희가 mg90s 라는 서보모터를 구매를 했습니다. 이 모터가 로봇팔 그리퍼기어를 움직이는데 쓰이는데
서보 라이브러리를 넣어주고 각을 조정하는 코드를 넣었더니 이 친구는 각을 속도로 인식해서 80이면 빠르게 한방향으로 계속 회전을하고, 10이면 느린 속도로 회전을 하네요.
서보모터들은 다 같은 라이브러리로 기본적인 제어가 되는것이 아닌가요?
다중제어가 아니고 하나만 제어하는 것이라 이렇게 질몬드립니다. 이 서보모터를 바로 아두이노 판에 연결하는 방식입니다.
#include "Servo.h" // "를 꺽쇠가로로 변경해주세요 꺽쇠가로가 댓글에서 표현 안되서 "로 대체했습니다.
Servo servo;
void setup() {
servo.attach(8);
}
void loop() {
servo.write(0); //각도에 따라 서보 회전
delay(1000);
servo.write(90); //각도에 따라 서보 회전
delay(1000);
servo.write(180); //각도에 따라 서보 회전
delay(1000);
}
제가 이 코드에서 테스트 해본 결과
0도 90도 180도 정상적으로 작동하는데 혹시 이걸로 해보시겠어요?
..올려주신 기본코드랑 거의 똑같게 했었는데말입니다..ㅠㅠ
핀도 혹시 모르니 PWM 출력을 지원하는 9번 핀으로 바꿔보죠
그리구 90도 하나만 넣고 테스트 해보시겠어요?? 입력을 하나만 줬을 때도 움직이는 지 확인해 봐야 할 것 같네요
loop는 어차피 작동 코드 넣는 곳이라 이건 문제가 아닙니당
그다음 값에 따라 속도를 조절할 건지 값에 따라 각도를 조절할 건지 그건 코드에 제어되는거에요!
카레맨님이 값에 따라 속도 변화의 코드를 업로드하셔서 그런듯해요!!
위에 코드로 작동하니 각도 변화가 잘 되네요!!