word1975 发表于 2015-9-3 23:02:33

关于arduino两个功放旋钮控制两个9G舵机的问题

我用arduino 做pwm控制9G舵机试验,但是代码只能控制一个,我想添加两个pwm并且控制两个9G舵机,改在添加代码呢?有个arduino扩展板。这是控制一个舵机的代码


#include <Servo.h> //引入lib
Servo myservo; // 创建一个伺服电机对象
int potpin = 0; // 设定连接可变电阻的模拟引脚
int val; // 创建变量,储存从模拟端口读取的值(0到1023)
void setup()
{
myservo.attach(9); // 9号引脚输出电机控制信号
//仅能使用9、10号引脚
}
void loop()
{
val = analogRead(potpin);
// 读取来自可变电阻的模拟值(0到1023之间)
val = map(val, 0, 1023, 0, 179); // 利用“map”函数缩放该值,得到伺服电机需要的角度(0到180之间)
myservo.write(val); // 设定伺服电机的位置
delay(150); // 等待电机旋转到目标角度
}




希望高人能帮我改改看,小白先在这里谢谢了!!!

164335413 发表于 2015-9-4 08:44:51


#include <Servo.h> //引入lib
Servo myservo1; // 创建一个伺服电机对象1
Servo myservo2; // 创建一个伺服电机对象2
int potpin1 = 0; // 设定连接可变电阻的模拟引脚
int potpin2 = 1; // 设定连接可变电阻的模拟引脚
int val; // 创建变量,储存从模拟端口读取的值(0到1023)
void setup()
{
myservo1.attach(9); // 9号引脚输出电机控制信号
myservo2.attach(10); // 9号引脚输出电机控制信号
//仅能使用9、10号引脚
}
void loop()
{
val = analogRead(potpin1);
// 读取来自可变电阻的模拟值(0到1023之间)
val = map(val, 0, 1023, 0, 179); // 利用“map”函数缩放该值,得到伺服电机需要的角度(0到180之间)
myservo1.write(val); // 设定伺服电机的位置
val = analogRead(potpin2);
// 读取来自可变电阻的模拟值(0到1023之间)
val = map(val, 0, 1023, 0, 179); // 利用“map”函数缩放该值,得到伺服电机需要的角度(0到180之间)
myservo2.write(val); // 设定伺服电机的位置
delay(150); // 等待电机旋转到目标角度
}

word1975 发表于 2015-9-4 10:22:46

164335413 发表于 2015-9-4 08:44 static/image/common/back.gif
#include//引入lib
Servo myservo1; // 创建一个伺服电机对象1
Servo myservo2; // 创建一个伺服电机 ...

谢谢,试验结果就是正确的,非常感谢哈!

164335413 发表于 2015-9-7 09:12:03

多多分析一下就能知道了。
页: [1]
查看完整版本: 关于arduino两个功放旋钮控制两个9G舵机的问题