在setup()中初始化舵机配置。目前此函数会创建两个舵机,分别用于BOXZ的左右侧手臂。
initServo();
以默认的参数初始化舵机配置。在BOXZ.h中包含以下参数
#define SERVO_PIN01 9; //左手占用Arduino的Pin 9 #define SERVO_PIN02 10; //右手占用Arduino的Pin 10 #define SERVO_POS01 20; //左手初始化位置为20度 #define SERVO_POS02 20; //右手初始化位置为20度 #define SERVO_POSMIN 20; //舵机最小允许角度为20度,可允许最小值为0 #define SERVO_POSMAX 160; //舵机最大允许角度为160度,可允许最大值为180 #define SERVO_DELAY 1; //舵机执行延时 #define SERVO_FRAME 20; //舵机精度帧(值越小舵机动作速度越快,仅用于servoRaw)
initServo(int pin01,int pin02);
初始化舵机配置,并定义新的舵机引脚。
initServo(int pin01,int pin02, int posMin, int posMax);
初始化舵机配置,并定义新的舵机引脚,最小和最大位置角度。
pin01:整数,指定Arduino用于左手舵机控制的管脚。
pin02:整数,指定Arduino用于右手舵机控制的管脚。
posMin:整数,默认为20度,可允许最小值为0。
posMax:整数,默认为160度,可允许最小值为180。
不同厂家的舵机极限位置可能会不同,注意任何尝试让舵机超过其停止点(经常听到咕噜噜的声音)是高电流状态,会损坏舵机,应该尽量避免的!
无返回值
此例程为BOXZ Pro的样例程序。
// BOXZ_Pro // Demo function:The application method to drive the 2x DC motor and 2x Servo // Author:Leo.Zhu // Date:10 Aug, 2013 // https://github.com/leolite/BOXZ // Hardware support list // 1. DFRobot L298 Shield 2A // 2. DFRobot L293 Shield 1A // 3. Adafruit Motor Drive #include "BOXZ.h" int key; void setup() { Serial.begin(9600); boxz.initMotor(); boxz.initServo(); Serial.println("Hello! BOXZ!"); } void loop() { if(Serial.available() > 0) { key = Serial.read(); boxz.servoCom(key); boxz.motorCom(key); } }