伺服电机一直试图达到134°以下,出了什么问题?
Servo motor keeps trying to reach beneath 134°, what is wrong?
我正在尝试让Arduino Uno板来控制由伺服电机驱动的夹持器。伺服器试图低于 134°,这在机械上是不可能的。我该怎么做才能解决这个问题?
我试图将电机限制在 180°,当它不是通缉按钮的读数时,它将保持主要位置(关闭,180(
#include <Servo.h>
Servo myservo;
char reading;
int pos;
void setup() {
// put your setup code here, to run once:
myservo.attach(9);
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
reading = Serial.read();
Serial.print(reading);
if (reading == 'W' || reading == 'w') {
pos = 134;
myservo.write(pos);
Serial.println("Open");
}
else if (reading == 'C' || reading == 'c') {
pos = 180;
myservo.write(pos);
Serial.println("Close");
}
else if (reading != 'W' || reading != 'C') {
myservo.write(180);
}
}
}
在代码中,仅在传入引脚号时调用attach()
。
库要求您在调用attach()
时指定伺服轴的最小和最大位置。如果你不这样做,你最终可能会遇到这样一种情况:你调用了有效的位置,但伺服要么走得不够远,要么试图走得比机械上可能更远。
该库需要知道最小和最大信号脉冲宽度,以便当您调用Servo.write()
轴角度时,它可以计算出相应的占空比。
相关文章:
- 警告处理为错误这里有什么问题
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 当我尝试添加 2 个大字符串时,我无法弄清楚出了什么问题
- 违反const正确性:我应该现实地期待什么问题
- 这个带有模板<类 Vector 的C++代码片段有什么问题>
- 我的逻辑反转字符串中的元音有什么问题?
- 需要以下代码的帮助,下面的代码有什么问题
- 常量公共成员有什么问题?
- 以下代码中的函数模板有什么问题?
- 这个返回元素位置的基于循环的函数有什么问题?
- creat_list2功能有什么问题?
- 格式说明符C++有什么问题
- 任何人都可以告诉我我的 C++ 代码出了什么问题?
- 从 argv[1] 转换为字符 * 字符串后有什么问题?
- 我的堆栈和库存清单程序的结构有什么问题?
- 此工厂功能有什么问题?
- 以下 C++ 代码有什么问题?
- 数组为此合并排序函数提供了正确的输出,但向量给出了不正确的输出.出了什么问题?
- reinterpret_cast,只读访问,简单的可复制类型,会出什么问题?
- 它解决了什么问题,对于非真空初始化,生命周期在初始化之前就开始了