没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
8页
概述 这是一个采用i2c通信 ,内置了PWM驱动器和一个时钟。这意味着,这将和TLC5940系列有很大不同。你不需要不断发送信号占用你的单片机! 它是5V的兼容,这意味着你还可以用3.3V单片机控制并且安全地驱动到6V输出(当你想控制白色或蓝色指示灯用3.4+正电压也是可以的) 地址选择引脚使你可以把62个驱动板挂在单个i2c总线上,总共有992路PWM输出。那将是非常庞大的资源。 约1.6Khz可调频PWM输出 为步进电机准备输出12位分辨率,这意味着在60Hz的更新率能够达到4us分辨率 可配置的推拉输出或开路输出 输出使能引脚能够快速禁用所有输出 OE引脚一定要至低使能,或者直接接地。 特性: PCA9685芯片被包裹在小板的中央 电源输入端子 绿色电源指示灯 在4组3针连接器中方便你一次插入16个伺服电机(伺服电机的插头稍宽于0.1“,所以你可以放4对0.1”的接头) 接线板上输入的反向极性保护 级联设计 V+线上放置一个大电容(在某些场合你会需要)外围输入最大电压取决于这个10V1000uf的电容 所有PWM输出线上都放一个220欧姆系列电阻器来保护他们,并能轻易的驱动LED。
资源推荐
资源详情
资源评论
#include <Servo.h>
#include<Wire.h>
#include <Adafruit_PWMServoDriver.h>
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(0x40);
#define SERVOMIN 150 // this is the 'minimum' pulse length count (out of 4096)
#define SERVOMAX 1300 // this is the 'maximum' pulse length count (out of 4096)
void setup() {
Serial.begin(9600);
Serial.println("16 channel Servo test!");
pwm.begin();
pwm.setPWMFreq(60);
}
void setServoPulse(uint8_t n, double pulse) {
double pulselength;
pulselength = 1000000;
pulselength /= 60;
Serial.print(pulselength); Serial.println(" us per period");
pulselength /= 4096;
Serial.print(pulselength); Serial.println(" us per bit");
pulse *= 1000;
pulse /= pulselength;
Serial.println(pulse);
pwm.setPWM(n, 0, pulse);
}
#include<Wire.h>
#include <Adafruit_PWMServoDriver.h>
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(0x40);
#define SERVOMIN 150 // this is the 'minimum' pulse length count (out of 4096)
#define SERVOMAX 1300 // this is the 'maximum' pulse length count (out of 4096)
void setup() {
Serial.begin(9600);
Serial.println("16 channel Servo test!");
pwm.begin();
pwm.setPWMFreq(60);
}
void setServoPulse(uint8_t n, double pulse) {
double pulselength;
pulselength = 1000000;
pulselength /= 60;
Serial.print(pulselength); Serial.println(" us per period");
pulselength /= 4096;
Serial.print(pulselength); Serial.println(" us per bit");
pulse *= 1000;
pulse /= pulselength;
Serial.println(pulse);
pwm.setPWM(n, 0, pulse);
}
void loop()
{
delay(4000);
//Serial.println(servonum);
for (uint16_t pulselen = SERVOMIN; pulselen <SERVOMAX/2; pulselen++) {
pwm.setPWM(0, 0, pulselen);
Serial.println(0);
delay(4);
}
for (uint16_t pulselen = SERVOMIN; pulselen <SERVOMAX/5 ; pulselen++) {
pwm.setPWM(2, 0, pulselen);
pwm.setPWM(4, 0, pulselen);
delay(4);
Serial.println(1);
}
for (uint16_t pulselen = SERVOMAX/5; pulselen >SERVOMIN; pulselen--)
{
pwm.setPWM(2, 0, pulselen);
pwm.setPWM(4, 0, pulselen);
delay(4);
Serial.println(2);
}
for (uint16_t pulselen =SERVOMIN; pulselen <SERVOMAX/5 ; pulselen++)
{
delay(4000);
//Serial.println(servonum);
for (uint16_t pulselen = SERVOMIN; pulselen <SERVOMAX/2; pulselen++) {
pwm.setPWM(0, 0, pulselen);
Serial.println(0);
delay(4);
}
for (uint16_t pulselen = SERVOMIN; pulselen <SERVOMAX/5 ; pulselen++) {
pwm.setPWM(2, 0, pulselen);
pwm.setPWM(4, 0, pulselen);
delay(4);
Serial.println(1);
}
for (uint16_t pulselen = SERVOMAX/5; pulselen >SERVOMIN; pulselen--)
{
pwm.setPWM(2, 0, pulselen);
pwm.setPWM(4, 0, pulselen);
delay(4);
Serial.println(2);
}
for (uint16_t pulselen =SERVOMIN; pulselen <SERVOMAX/5 ; pulselen++)
剩余7页未读,继续阅读
资源评论
- weixin_449456952019-11-27很不错,值得一看
- Eno0112019-07-04非常的实用的内容
- dragonjing6222020-07-14资源还可以,就是属于入门级别而已
- 尧尧的老虎2019-10-20感觉还不错
Stephenterror
- 粉丝: 1
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功