求助:arduino 串口接收字符控制舵机转动速度 200
我现在发送个i字,arduino串口接收后舵机会转动到相应角度但我想让他转得慢些例如现在是马上转到特定位置,是非常快的速度我想让他速度慢些,请教该如何修改?#includ...
我现在发送个i字,arduino串口接收后舵机会转动到相应角度
但我想让他转得慢些
例如现在是马上转到特定位置,是非常快的速度
我想让他速度慢些,
请教该如何修改?
#include
Servo servo1;
void setup()
{
Serial.begin(115200);
}
void loop()
{
if (Serial.available())
{
char val = Serial.read();
if (val == 'i')
{
servo1.attach(9);
servo1.write(165);
}
(用的是舵机库)
或者这样,我想发送一个字符实现正转,转到尽头停止
发送另一个字符实现反转,转到尽头停止
还有一个停止字符发送后实现停止
转速也要可控,至少不是,有多快转多快的状态。请教高手指点一二 展开
但我想让他转得慢些
例如现在是马上转到特定位置,是非常快的速度
我想让他速度慢些,
请教该如何修改?
#include
Servo servo1;
void setup()
{
Serial.begin(115200);
}
void loop()
{
if (Serial.available())
{
char val = Serial.read();
if (val == 'i')
{
servo1.attach(9);
servo1.write(165);
}
(用的是舵机库)
或者这样,我想发送一个字符实现正转,转到尽头停止
发送另一个字符实现反转,转到尽头停止
还有一个停止字符发送后实现停止
转速也要可控,至少不是,有多快转多快的状态。请教高手指点一二 展开
展开全部
关于调速,
……
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);
}
}
}
}
……
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);
}
}
}
}
追问
请教: for(i=0;i<165;i++) 这句话的定义
上面你的例子 我放在arduino ide运算时提示i有问题,请问该如何修改
追答
在 void loop()这一行前面加上 int i;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
德晟智能
2024-09-04 广告
2024-09-04 广告
舵机应该如何选型?今天由我们德晟智能科技有限公司说到舵机,相信不少工程师都非常熟悉了,但是如果说到舵机的产品选型,可能不少工程师都是一知半解的,甚至大部分的人都是纯靠扭矩来进行舵机选型的。“舵机”,顾名思义就是用来控制舵面控制的伺服器,而随...
点击进入详情页
本回答由德晟智能提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询