您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > Arduino教程(提高篇)——舵机的驱动
Arduino教程(提高篇)——舵机的驱动在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。目前在高档遥控玩具,如航模,包括飞机模型,潜艇模型;遥控机器人中已经使用得比较普遍。舵机是一种俗称,其实是一种伺服马达。1.舵机与控制原理2.servo类介绍servo类下有以下成员函数attach()//write()//writeMicroseconds()//read()//attached()//detach()//普通舵机有3根线:GND(黑)、VCC(红)、Signal(黄),一般情况下,我们建议为舵机单独供电,此处实验为了图方便,用arduino为舵机供电。3.实例1需要的器材:arduino控制器、舵机、杜邦线若干首先将舵机如下图连接:下载以下例程(程序可以在IDEFileExamplesServoSweep中找到,我只是做个中文介绍)1.#includeServo.h2.Servomyservo;//创建一个舵机控制对象3.//使用Servo类最多可以控制8个舵机4.intpos=0;//该变量用与存储舵机角度位置5./*~~~~~~~~~~~~~~~~~~~~~~~~~~华丽的分割线~~~~~~~~~~~~~~~~~~~~~~~~~~*/6.voidsetup()7.{8.myservo.attach(9);//该舵机由arduino第九脚控制9.}10./*~~~~~~~~~~~~~~~~~~~~~~~~~~华丽的分割线~~~~~~~~~~~~~~~~~~~~~~~~~~*/11.voidloop()12.{13.for(pos=0;pos180;pos+=1)//从0度到180度运动14.{//每次步进一度15.myservo.write(pos);//指定舵机转向的角度16.delay(15);//等待15ms让舵机到达指定位置17.}18.for(pos=180;pos=1;pos-=1)//从180度到0度运动19.{20.myservo.write(pos);//指定舵机转向的角度21.delay(15);//等待15ms让舵机到达指定位置22.}23.}24.4.实例2需要的器材:arduino控制器、舵机、电位器、杜邦线若干首先将舵机如下图连接:下载以下例程(程序可以在IDEFileExamplesServoKnob中找到)1.#includeServo.h2.3.Servomyservo;4.//创建一个舵机控制对象5.6.intpotpin=0;//该变量用于存储用电位器读出的模拟值7.intval;8.//该变量用与存储舵机角度位置9.10.voidsetup()11.{12.myservo.attach(9);13.//该舵机由arduino第九脚控制14.}15.16.voidloop()17.{18.val=analogRead(potpin);//读取电位器控制的模拟值(范围在0-1023)19.val=map(val,0,1023,0,179);//scaleittouseitwiththeservo(valuebetween0and180)20.myservo.write(val);21.//指定舵机转向的角度22.delay(15);23.//等待15ms让舵机到达指定位置24.}5.其他驱动方法:传送门:arduino驱动舵机,不调用库函数:
本文标题:Arduino教程(提高篇)——舵机的驱动
链接地址:https://www.777doc.com/doc-5212680 .html