Arduino Uno:如何使其在图8中连续运行?

Arduino Uno:如何使其在图8中连续运行?,arduino,arduino-uno,servo,Arduino,Arduino Uno,Servo,我的任务是设计和实现软件,使您的屏蔽机器人在“图8”中连续运行,其中两个环的直径至少为1英尺 我把下面的代码放在一起,第一次就正确地生成了一个图8,但是每次旋转之后,它就会慢慢地失去形状。 我需要以同样的方式旋转 #包括 //声明伺服电机变量 伺服左伺服; 伺服右伺服; void循环(){ //将i/o引脚分配给伺服系统 左伺服。连接(13); 右伺服。连接(12); //声明第一个圆的值 int leftFirtCirlceSpeed=1548; int rightFirstCircleSpe

我的任务是设计和实现软件,使您的屏蔽机器人在“图8”中连续运行,其中两个环的直径至少为1英尺

我把下面的代码放在一起,第一次就正确地生成了一个图8,但是每次旋转之后,它就会慢慢地失去形状。 我需要以同样的方式旋转

#包括
//声明伺服电机变量
伺服左伺服;
伺服右伺服;
void循环(){
//将i/o引脚分配给伺服系统
左伺服。连接(13);
右伺服。连接(12);
//声明第一个圆的值
int leftFirtCirlceSpeed=1548;
int rightFirstCircleSpeed=1300;
//向每个伺服电机发送脉冲。伺服循环
leftServo.writeMicroseconds(leftFirtCirlceSpeed);
rightServo.writeMicroseconds(rightFirstCircleSpeed);
延迟(13000);
//声明左/右伺服int,并为这些变量指定脉冲宽度,以便伺服停止
//int leftStop=1500;
//int rightStop=1500;
//向每个伺服电机发送脉冲。伺服停止
//leftServo.writeMicroseconds(leftStop);
//右伺服。writeMicroseconds(右停止);
//延迟(100);
//声明left/right servo int,并为这些变量指定脉冲宽度,以便伺服直线运行
int leftstright=1700;
int rightstright=1300;
//向每个伺服电机发送脉冲。伺服直线运行
leftServo.writeMicroseconds(leftStraight);
右伺服。writeMicroseconds(右直);
延迟(2000年);
//声明第二个圆的值
int leftSecondCircleSpeed=1700;
int rightSecondCircleSpeed=1458;
//向每个伺服电机发送脉冲。伺服循环
leftServo.writeMicroseconds(leftSecondCircleSpeed);
rightServo.writeMicroseconds(rightSecondCircleSpeed);
延迟(9000);
//leftServo.writeMicroseconds(leftStop);
//右伺服。writeMicroseconds(右停止);
//延迟(100);
//向每个伺服电机发送脉冲。伺服直线运行
leftServo.writeMicroseconds(leftStraight);
右伺服。writeMicroseconds(右直);
延迟(2000年);
}

您的最佳选择是尝试并出错。伺服系统可能会出现太多问题。是的,你是对的!我想可能有一些神奇的数字。让我再试一次谢谢@我们应该设计一些反馈回路,可能涉及传感器,否则任何微小的误差都会随着时间的积累而放大。你最好的办法就是反复尝试。伺服系统可能会出现太多问题。是的,你是对的!我想可能有一些神奇的数字。让我再试一次谢谢@对于家庭来说,我们应该设计一些反馈回路,可能涉及传感器,否则任何微小的误差都会随着时间的积累而放大。