求助: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);
}
(用的是舵机库)
或者这样,我想发送一个字符实现正转,转到尽头停止
发送另一个字符实现反转,转到尽头停止
还有一个停止字符发送后实现停止
转速也要可控,至少不是,有多快转多快的状态。请教高手指点一二 展开
1个回答
展开全部
关于调速,
……
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;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
leipole
2024-11-29 广告
2024-11-29 广告
作为上海雷普电气有限公司的一员,我们深知温度控制在工业领域的重要性。Arduino温度控制系统凭借其灵活性和易用性,成为我们温控方案中的重要组成部分。该系统通过Arduino控制器与温度传感器相连,实时监测并调整温度,实现精确的温度控制。无...
点击进入详情页
本回答由leipole提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询