arduino 串口控制舵机 110

ARDUINO通过串口控制舵机.两两控制,S1和S2一组,S3和S4一组.case1,2,3,4是正常速度控制舵机case5,6,7,8是慢速控制舵机...terater... ARDUINO通过串口控制舵机.
两两控制,S1和S2一组,S3和S4一组.
case1,2,3,4是正常速度控制舵机
case 5,6,7,8 是慢速控制舵机...

tera term为通信软件, 当使用case 5,6,7,8时,一开始一切正常,差不多,2,3分钟吧,arduino板子似乎就无法响应命令了,需要重新upload一下,一切正常,然后2,3分钟又一样..
但是如果..去掉case 5,6,7,8只用1,2,3,4时,一切正常..!
.初次用arduino做串口通信....
希望各路大神指教
因字数限制,发一些代表性的code:
...
....
void loop()
{
if (Serial.available())
{
int key= Serial.read();
switch(key) {
case '1': //fast: S1,S2 down
S1.writeMicroseconds(400);
S2.writeMicroseconds(2100);
...
...
case '5': //slow: S1,S2 DOWN
var=0;
pwm1=1300;
pwm2=1300;
while(var<800) {
var=var+40;
pwm1=pwm1-40;
pwm2=pwm2+40;
S1.writeMicroseconds(pwm1);
S2.writeMicroseconds(pwm2);

}
展开
 我来答
Kyoya三KA9
2014-06-21 · TA获得超过194个赞
知道答主
回答量:114
采纳率:0%
帮助的人:116万
展开全部
关于调速,
……
if (val == 'i')
{
servo1.attach(9);
for(i=0;i<165;i++)
{
servo1.write(i);
delay(50);//速度值,越大越慢
}
}
关于可控,
……
void loop()
{
if (Serial.available())
{
char val = Serial.read();
if (val == 's')
{
servo1.attach(9);
for(i=0;i<180;i++)
{
servo1.write(i);
if (Serial.read()=='e') break;
delay(5);
}
}
}
}
追问
为什么我的程序...一段时间要重新upload。。。才能用?
为什么我的程序...一段时间要重新upload。。。才能用?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
德晟智能
2024-09-04 广告
无人机舵机是一种关键的控制组件,它负责调节无人机的姿态和飞行方向。在无人机中,舵机通过接收信号输入,驱动控制面如机翼、尾翼等,从而调整无人机的俯仰、横滚和航向。这种装置具有高精度和快速响应的特点,是实现无人机稳定飞行和精确控制的重要部分。东... 点击进入详情页
本回答由德晟智能提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式