利用Arduino驱动舵机附带程序_第1页
利用Arduino驱动舵机附带程序_第2页
利用Arduino驱动舵机附带程序_第3页
利用Arduino驱动舵机附带程序_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学习利用 Arduino驱动舵机(附带程序)2012-6-30 00:27 |发布者:sonxun |查看:1180 |评论:0摘要:什么是伺服电机? 想象一下有一个小电机连接到一个可调电阻器。一个 电动脉冲或者命令被发送到电机之后,电机旋转到匹配指定的电位值的角度。嗯, 那样说听起来有点难以理解。一个更简单的解释是:伺服电机,就是一个可.什么是伺服电机?想象一下有一个小电机连接到一个可调电阻器。 一个电动脉冲或者命令被发送到 电机之后,电机旋转到匹配指定的电位值的角度。 嗯,那样说听起来有点难以理 解。一个更简单的解释是: 伺服电机, 就是一个可以被指定旋转到一个特定的角度的 电动马达。例如

2、,它通常可以用来控制遥控汽车的转向系统。在这里,我们要再 次感谢Arduino和朋友们,要使用一个伺服电机是很容易的,它可以让你创造出 富有想象力的设计,唯一的局限就只有你的时间和资金了。-当你想要使用伺服电机时,需要考虑一些因素,包括:,旋转范围,指的是电机可以旋转的角度的范围。例如180度或者360度 (全旋),等等。,旋转速度(通常以旋转每一度所花费的时间来衡量)。扭矩,伺服电机能够产生的扭矩(旋转的力量)。在负载的状态下的电流大小。重量、成本以及其他因素。脑海中首先想到的一个问题就是“哇一一我能够同时使用多少个电机呢? ”答案是. 在duemilanove上,可以使用12个;在ardu

3、ino megai,可以使用48个(哇)。请注意当你使用伺服电机函数库时, 你不能在第9和第10端口上使 用analogWrite();函数。你可以在arduino伺服电机函数库页面找到更多的细节。在今天的例子和练习中,我使用了Turnigy TG9伺服电机。它相当的便宜,而 且重量轻,非常适合演示实验,这款电机也经常被用丁遥控飞机。它的旋转范围 是180度。(它真的非常便宜)我希望你注意到伺服电机上一共有三根导线。一根是+5V电源,一根是GND接地,另一根是控制信号一一连接到arduino的一个数字输出端口上。导线的颜色 不是固定的,不过对丁这一款adafruit的伺服电机来说,颜色最深的的

4、是地 线GND最浅的是控制信号线,不深不浅的就是+5V电源线了。这一款电机非 常小,额定电流也不大,所以可以使用你的Arduino控制板直接驱动。然而, 当你使用更大的电机或者电机有较大的负载时,你就需要为电机独立供电,这样才能提供它所需要的电流。如果你要同时使用两个以上的这类轻量级的电机时, 你需要使用外接电源以及一个 电机扩展板。当你使用角度计量时,你最好准备一个量角器,就像这样的:我们要怎样才能控制伺服电机呢?首先我们需要使用伺服电机函数库。就像我们在第二章中使用LCD显示屏那样,在代码的开头部分写下这样一行:#include这样,我们就可以使用伺服电机控制命令了。接下来需要在代码中创建

5、伺服电机的对象(object),以便丁引用,例如:Servo myservo;最后,为了控制电机,将电机对象绑定到一个数字端口(在void setup();代码段中)。myservo.attach(9); /在端口9上绑定电机对象代码的设置部分就只有这些了,接下来所需要做的就只有myservo.write(pos);pos是一个0到180 (或者多或者少,这决定丁伺服电机旋转的角度的范围)之间的数字。好了,空谈不如实践,我们要用一个例子来将所有的东西包括伺服电机的旋转都 结合在一起。戚下面的例子将让你看到指针从左边移动到中间再移动到右边并 重复循环:(下载)/*例子3.3-伺服电机监测创建丁2

6、1/04/2010 作者John Boxall http:/ CC by-sa v3.0*/#includeServo myservo; /创建电机对象int pos = 0;/存放电机旋转角度的变量int del = 100; /延时(单位:毫秒)void setup()Serial.begin(9600);myservo.attach(9); /将伺服电机控制信号连接到在端口9并绑定电机对void loop()for (int loopy = 0; loopy=0; pos-) /将Hextronik HXT900电机从左向右旋转myservo.write(pos);delay(del);

7、delay(1000);for (int loopy = 0; loopy=3; loopy+)myservo.write(180);delay (1000);myservo.write(90);delay (1000);myservo.write(0);delay (3000);电路板的连接非常的简单,仅仅只有伺服电机的三根导线被连接到了arduino控制板上。下面是视频。抱歉的是,我的摄像机没有录下声音,因此你无法听到电机转动时 的嗡嗡声。好了,你应该也已经读够了也看够了, 该是你来做些练习的时候了。 记得用上到 现在为止我们所讨论过的所有的知识练习3.1我们可以使用数码技术来让一些东西变

8、得更加有用和与众不同一一比如带有以下功能的模拟式的(指针式的)数字温度计:指针可旋转180度范围的模拟式的温度显示。所表示温度的范围则根据你所在地的气候而不同。在我的例子中将表示040摄氏度。 一个可以用来显示是否需要打开加热器或者空调或者关闭的模拟的指针。也就是 练习2.1的模拟显示版本。,可以在需要的时候显示最低和最高温度,同时有一个指示器(用LED就好)来说明显示的是什么内容。另外还要有个重置按钮。你可以把你自己的函数、温度传感器、一些判断语句、数字和模拟输入、数字和模拟的输出以及一些你的创意结合在一起,来完成这个练习。如果要照我的样例去完成练习的话,你需要以下的元件:你的Arduino标准套件。水(记得补充水分)。Analog Devices出品的TMP36温度传感器(element-14备件号143-8760) o2个小的按钮。2个10k 0.25W的电阻。将作为按钮的限流电阻使用。li一块面包板和一些导线。两颗LED来说明显示的是最低/最高温度。, 2个390 ohm 0.25 W电阻,作为LED的限流保护电阻。/li一块面包板和一些导线。可以开始了如果你有任何问题,你可以在文章最后留言,或者发邮件给john attronixstuff do

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论