极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11370|回复: 3

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

[复制链接]
发表于 2015-9-3 23:02:33 | 显示全部楼层 |阅读模式
我用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); // 等待电机旋转到目标角度
}




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

使用道具 举报

发表于 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); // 等待电机旋转到目标角度
}
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-9-4 10:22:46 | 显示全部楼层
164335413 发表于 2015-9-4 08:44
#include  //引入lib
Servo myservo1; // 创建一个伺服电机对象1
Servo myservo2; // 创建一个伺服电机 ...

谢谢,试验结果就是正确的,非常感谢哈!
回复 支持 反对

使用道具 举报

发表于 2015-9-7 09:12:03 | 显示全部楼层
多多分析一下就能知道了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-7 23:33 , Processed in 0.037695 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表