四博智联产品售后
标题:
Arduino扩展板驱动舵机的简单实例
[打印本页]
作者:
linXJ
时间:
2016-8-3 11:00
标题:
Arduino扩展板驱动舵机的简单实例
1,实验材料:
ESPDUINO板1个,
Arduino 2 Motor && 16 Servo Drive Shield 扩展板1个,电池盒及2节3.7V干电池,舵机1个;
2,硬件连接:
将扩展板对应插在ESPDUINO板上,装上2节电池的电池盒电源正负极分别接扩展板的vs和GND(右边两个接口),用一个短路块(跳线帽插在靠近扩展板电源的VIN和VS上面(4个管脚的中间两个)),舵机线对应插在扩展板的16路舵机管脚(黄色线为信号线,接PWM,红色线接VS,绿色线接GND);
3,实验原理:
通过扩展板上面集成的芯片输出PWM波控制舵机正反转,从而实现对舵机的控制;
4,例程源码:
/***************************************************
示例:16伺服舵机。
效果:伺服向前转180度,然后向转180度....
by DOIT. http://www.doit.am
****************************************************/
#include <Wire.h>
#include <ServoDriver.h>
ServoDriver pwm = ServoDriver();
#define SERVOMIN 102 // 这是“最小”脉冲长度计数(满分4096)0度
#define SERVOMAX 512 // 这是“最大的”脉冲长度计数(满分4096)180度
// 重要提示:舵机号#
uint8_t servonum = 0;
void setup()
{
pwm.begin();
pwm.setPWMFreq(50); // 舵机在50Hz运行
}
void loop()
{
// 在一个时间驱动一台舵机
for (uint16_t pulselen = SERVOMIN; pulselen < SERVOMAX; pulselen++)
{
pwm.setPWM(servonum, 0, pulselen);
}
delay(2000);
for (uint16_t pulselen = SERVOMAX; pulselen > SERVOMIN; pulselen--)
{
pwm.setPWM(servonum, 0, pulselen);
}
delay(2000);
}
复制代码
5,实物连接及效果图:
1.jpg
(93.76 KB, 下载次数: 1623)
下载附件
2016-8-3 11:01 上传
2.jpg
(101.7 KB, 下载次数: 1529)
下载附件
2016-8-3 11:01 上传
欢迎光临 四博智联产品售后 (http://115.29.109.104/)
Powered by Discuz! X3.2