首页 > 代码库 > Arduino-舵机控制Servo
Arduino-舵机控制Servo
以前没有接触过硬件,因为把弄APM2.5不得不去接触arduino板。Arduino是块极易上手的控板,不像单片机,你要花费大量的时间去学习预备知识,它只要你稍微懂点C语言既能上手。对于我这种业余爱好者,不二之选。手头有几个舵机,首次接触arduino就是用它来操作舵机。Arduino有个底层库(Servo类),包含驱动舵机的基本功能:
attach()//连接舵机 write()//角度控制 writeMicroseconds()//参数为pwm值,1000:逆时针旋转180度,1500:到达中点,2000:顺时针旋转180度 read()//读上一次舵机转动角度 attached()// detach()//断开舵机连接
实例:
器材:arduino板、舵机、杜邦线若干
程序可以在IDE>File>Examples>Servo>Sweep中找到
这里介绍不调用Servo库,写的Servo.write()函数,有些问题,串口输入的值与伺服转动的角度不相同。郁闷中!!!
int value; int pulsewidth; int pin=9; void servowrite(int pin,int value) { digitalWrite(pin,HIGH); value=map(value,0,180,700,2300);//舵机的PWM值在700~2300间,这是粗略的PWM数值转换 digitalWrite(pin,LOW); } void setup() { Serial.begin(9600); pinMode(pin,OUTPUT); } void loop() { if(Serial.available()>0) { int val=Serial.read(); value=val-‘0‘;//转换为数字 value=http://www.mamicode.com/map(value,0,9,0,180); Serial.print("moving servo to"); Serial.print(value); servowrite(pin,value); } }
Arduino-舵机控制Servo
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。