我正在尝试为 Arduino 项目制作 ARM 肌肉系统的模型,但为了实现这一目标,我需要二头肌和三头肌 向相反方向移动。
我目前正在尝试使用电位器并尝试制作两个 servos朝相反的方向移动,但不知怎的,代码似乎没有像我预期的那样工作,因为它们一直朝相同的方向移动。
我的电源是我的笔记本电脑,我还没有使用电池组。至于具体问题, Helm 机没有响应电位计,它们只是抖动
#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);
}
- 您能告诉我代码有什么问题吗?
- 是否有更有效的方法来完成相同的任务?
最佳答案
您设置了 potpin = 8
,但 analogRead()
仅适用于模拟输入 A0-A5
并且在大多数板上,包括标记的 Arduino Uno 板,引脚 8
是数字引脚。
[...] you cannot use analogRead() to read a digital pin. A digital pin cannot behave as analog because it isn't connected to the ADC (Analog to Digital Converter).
您可以使用 https://www.arduino.cc/en/Reference/AnalogRead 的示例来测试这一点
关于arduino-uno - 如何使两个 Helm 机朝相反方向移动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42382184/