arduino控制多个舵机,舵机库(Servo)的使用

舵机3条线,红色接5V,黄色接GND,橙色是数据,插入接口。。

网上教程说用了servo库后,Arduino开发板9.10接口不能用analogWrite()语句。所以最好舵机接到这个接口上,免得浪费。

这里有个教程源码,一个直接转角度,一个控制PWM转角度(这个更加精准的,范围大500-2500)

============直接转角度=============

#include <Servo.h>                // 声明调用Servo.h库
Servo myservo;               //创建一个舵机,命名为myservo
Servo myservo2;               //创建一个舵机,命名为myservo2

                                         //还有舵机,继续创建,命令为Servo 名字
#define  SERVO_PIN  D7            //宏定义舵机控制引脚,命令为#define  舵机名字_PIN  端口 ;
#define  SERVO2_PIN  D6            //宏定义舵机控制引脚
 //上边的D7 D6是我的wemos D1开发板(挺便宜的)接口,一般adruino是数字                                                        

 

void setup(){ 
myservo.attach(SERVO_PIN);    // 将D6引脚与声明的舵机对象连接起来
 myservo2.attach(SERVO2_PIN);    // 将D7引脚与声明的舵机对象连接起来
}  

 

void loop(){ 

myservo.write(10);   //角度10。舵机转动命令为:舵机名.write(角度);
delay(1000);         //延时1秒
 myservo2.write(140);  //角度140
delay(1000);   

 

===========PWM==========

#include <Servo.h>                // 声明调用Servo.h库
Servo myservo;               //创建一个舵机,命名为myservo
Servo myservo2;               //创建一个舵机,命名为myservo2

                                         //还有舵机,继续创建,命令为Servo 名字
#define  SERVO_PIN  D7            //宏定义舵机控制引脚,命令为#define  舵机名字_PIN  端口 ;
#define  SERVO2_PIN  D6            //宏定义舵机控制引脚
 //上边的D7 D6是我的wemos.cc接口,一般adruino是数字                                                        

unsigned int PWM = 0;             //变量pwm用来存储舵机角度位置,PWM的500对应0度,2500对应舵机的最大角度
                                              //(180度舵机2500对应180度,270度舵机2500对应270度)

void setup(){ 
myservo.attach(SERVO_PIN);    // 将D6引脚与声明的舵机对象连接起来
 myservo2.attach(SERVO2_PIN);    // 将D7引脚与声明的舵机对象连接起来
}  

 

void loop(){ 

myservo.writeMicroseconds( 500);   //写入PWM,最小值500,最大值2500.。每个值的角度都不同。

                                                     //PWM转舵机角度命令:舵机名.writeMicroseconds(数值);
delay(1000);         //延时1秒

myservo2.writeMicroseconds( 500);

delay(1000);   

======舵机库(Servo)的函数==================

attach  连接舵机

write   角度控制

writeMicroseconds()   更精准的角度控制

read()  读上一次舵机转动角度

attached()  检查舵机及是否连接控制板上

detach()   断开舵机连接

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值