arduino舵机控制问题
本人是个刚开始学习的菜鸟,我只想弄个舵机从0转到180的程序来控制机械臂,可我实在没搞懂arduino的舵机是如何控制的,谢谢大家了,具体内容如下:1.
#include <Servo.h>
Servo myservo;// create servo object to control a servo
int pos = 0;
void setup()
{
myservo.attach(9);
}
void loop()
{
for(pos = 0; pos < 180; pos += 1)
{
myservo.write(pos);
delay(15);
}
}
这是arduino自带的例程,是不是就是舵机从0度转到180度?我在运行的时候是舵机转到一定角度后又返回,然后如此重复。这是为什么?
2.
上面的方法不行,我又了一种,用pwm控制
int motor=9;
void setup()
{
pinMode(motor,OUTPUT);
}
void loop()
{
digitalWrite(motor,HIGH);
delay(2);
digitalWrite(motor,LOW);
delay(18);
}
舵机这次根本就没反应啊,这是为什么呢?
求高手解答,谢谢了!{:soso__626321067742274858_2:}
你得了解一下舵机的运行原理:
它根据接收到的PWM脉冲的宽度来确定其运行的角度。
第一个例程里面,loop()循环反复不断的执行,所以它会不断地跑。
第二个例程,你直接给它一个digitalwirete()
这个可不是脉冲。。。
所以,它不干活是正常地。 void loop()
{
digitalWrite(motor,HIGH);
delay(2);
digitalWrite(motor,LOW);
delay(18);
} 这个不是高电平2ms,低电平20ms吗?
如果我想用arduino让电机从0转到180度该怎么写呢? 是高电平2mS。低电平18MS。
这种方式可以使用arduino的任何一个端口来驱动舵机。
不够,占用系统的主线程,一般不推荐如此。
从0转到180度然后停顿?
或者往复不端地这么执行?
或者,循序(慢慢地)从0转到180度?
三种方式,三种代码。所以,需要你说明白。 风的孩子 发表于 2012-2-9 14:16 static/image/common/back.gif
是高电平2mS。低电平18MS。
这种方式可以使用arduino的任何一个端口来驱动舵机。
不够,占用系统的主线程 ...
从零度转到180度停顿 使用servo 库。
直接调用。
直接写。
example里面直接有例程。 #include <Servo.h>
Servo myservo;// create servo object to control a servo
int pos = 0;
void setup()
{
myservo.attach(9);
}
void loop()
{
myservo.write(180);
}
这样吗?不行啊,来回转 我是新手,刚买了个9克的舵机。用example里的例子从0转到180,结果舵机实际输出小于180度。大约160左右。不知道为什么?求高人指点。 jonny 发表于 2012-5-18 16:42 static/image/common/back.gif
我是新手,刚买了个9克的舵机。用example里的例子从0转到180,结果舵机实际输出小于180度。大约160左右。不 ...
有些舵机。。。可转动角度小于180。这个得看舵机。。。 多讲点舵机控制的程序案例,我个人觉得,好多的函数没见过,能不能分析一下呢? 问一下,我是菜鸟,现在市面上所有的舵机控制板都兼容Arduino吗? Nightkids 发表于 2013-1-15 18:15 static/image/common/back.gif
问一下,我是菜鸟,现在市面上所有的舵机控制板都兼容Arduino吗?
是单片机都可以,直接串口发指令 moon 发表于 2012-2-13 17:46 static/image/common/back.gif
#include
Servo myservo;// create servo object to control a servo
我也在纠结此问题,您现在解决了吗 简简单单 发表于 2013-3-3 20:36 static/image/common/back.gif
我也在纠结此问题,您现在解决了吗
创建对象,类似于“类”吧 本人是个刚开始学习的菜鸟,我只想弄个舵机从0转到180的程序来控制机械臂,可我实在没搞懂arduino的舵机是如何控制的,谁来教教我?谢谢大家了。
页:
[1]
2