版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhuming3834/article/details/82589393
树莓派PWM引脚
关于树莓派的引脚图可以看《 (六)树莓派3B+ node-rpio库的使用–点亮LED》。我的是树莓派3B+,排针的第12引脚也就是GPIO.1就是PWM输出的引脚。
在库rpio中介绍了树莓派的PWM引脚
- 26-pin models: pin 12
- 40-pin models: pins 12, 32, 33, 35
那么我的树莓派3B+的第12,322,33,35引脚都可以输出PWM。
当然如果采用软件PWM,那么每个GPIO引脚都可以当做PWM输出引脚使用。
什么是PWM
什么是PWM,我觉得可以看看百度百科的解释:PWM–百度百科。
PWM占空比
pwm的占空比,就是指高电平保持的时间,与该pwm时钟周期时间之比。
代码实现
var rpio = require('rpio');
var pwm_pin = 12; // 排针第12引脚
rpio.open(pwm_pin, rpio.PWM); // 设置为PWM输出
rpio.pwmSetClockDivider(8); // 时钟8分频 具体是多少 可能示波器显示的会比较准确,目前没发现有文档说明
rpio.pwmSetRange(pwm_pin, 1024); // 设置PWM发生器范围
function pwm() {
var data = 0;
rpio.pwmSetData(pwm_pin, data); // 设置 data/1204 占空比的PWM波
while(1){
data ++;
if(data >= 1024){
data = 0;
}
rpio.pwmSetData(pwm_pin, data);// 设置 data/1204 占空比的PWM波
rpio.msleep(6); // 延时6毫秒
}
}
pwm();
实验电路图
排针的第12引脚也就是GPIO.1是其中的一个PWM输出引脚,接LED的正极,LED的负极直接接电源负极。
效果图
效果不是很明显,CSDN图片限制,只能是2M以内,不能上传视频,将就一下。