【发布时间】:2017-02-22 03:31:05
【问题描述】:
我正在尝试使用 Arduino 为一个项目制作手臂肌肉系统模型,但要完成此操作,我需要 二头肌 和 三头肌 向相反方向移动。
我目前正在试验一个电位器,并试图让两个 servos 朝相反的方向移动,但不知何故,代码似乎并没有像我预期的那样工作,因为它们一直朝同一个方向移动。
我的电源是我的笔记本电脑,我还没有使用过电池组。至于具体问题,舵机对电位器没有响应,只是抖动
#include <Servo.h>
Servo Bicep;
Servo Tricep;
Servo Extensor;
Servo Flexor;
int pos = 0;
int biceppin = 3;
const int triceppin = 4;
const int extensorpin = 5;
const int flexorpin = 6;
int potpin = 8;
int potval = 0;
int potval2;
void setup() {
Bicep.attach(biceppin);
Tricep.attach(triceppin);
Extensor.attach(extensorpin);
Flexor.attach(flexorpin);
}
void loop() {
potval = analogRead(potpin);
potval = map(potval, 0, 1023, 0, 180);
potval2 = 180 - potval;
Bicep.write(potval);
Tricep.write(potval2);
delay(15);
}
- 您能告诉我代码有什么问题吗?
- 是否有更有效的方法来完成相同的任务?
【问题讨论】:
-
也许那些 ee 人想要破解这个:electronics.stackexchange.com
-
Servo.h中有什么内容? C++ 程序需要main函数。你的在哪里?请提供一个完整的最小示例,以便我们为您提供帮助。 -
@Ben:删除了不相关的 c++ 标签,但对于 Arduino 来说,这是一个完全有效的 mcve。 @RithvikKolanu 如果您不提供您的伺服型号,我们不可能知道当您
write()伺服上的值时会发生什么。每个都有自己的规格。 -
@Ben:Arduino IDE 中的程序使用隐藏的 main,因此 setup() 和 loop() 在那里创建了一个完整、有效的程序。我知道:这很可怕,但事实就是如此。用户表示他正在使用 Arduino。
-
@nbloqs 我的电源是我的笔记本电脑,我还没有使用电池组。至于这个问题,舵机没有响应电位器,它们只是抖动
标签: arduino-uno robotics servo