problem to drive 2 servos with servo object????
이전 댓글 표시
function[] = ServoAngleNew(Theta1,Theta2)
pause(2);
a = arduino('COM4');
s = servo(a,9,'MinPulseDuration',7.50e-4,'MaxPulseDuration',2.4e-3);
s = servo(a,10,'MinPulseDuration',7.50e-4,'MaxPulseDuration',2.4e-3);
writePosition(s, Theta1);
writePosition(s, Theta2);
end
i want to move my robot arm with 2 servos and when i call ServoAngleNew with 0 or 1 my arm does not moves correctly, simply do a tremulous. i try to drive one servo and works two or three servos do not move, any help??? thanks
답변 (1개)
Walter Roberson
2015년 9월 14일
function[] = ServoAngleNew(Theta1,Theta2)
pause(2);
a = arduino('COM4');
s1 = servo(a,9,'MinPulseDuration',7.50e-4,'MaxPulseDuration',2.4e-3);
s2 = servo(a,10,'MinPulseDuration',7.50e-4,'MaxPulseDuration',2.4e-3);
writePosition(s1, Theta1);
writePosition(s2, Theta2);
end
댓글 수: 2
kwstis xoustoulakis
2015년 9월 15일
편집: kwstis xoustoulakis
2015년 9월 15일
Walter Roberson
2015년 9월 16일
That two second pause sounds too long to me. Also, you should create the arduino object and servos outside the function and pass them in to the function, which should concentrate on updating the position. You are recreating the server objects every time with this code.
카테고리
도움말 센터 및 File Exchange에서 Reinforcement Learning에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!