知乎 拒绝 朋友 做网站,大型网站制作设计,连云港网络公司排名,wordpress 缩略图质量1、PWM简介
(1)、什么是PWM
脉冲宽度调制(PWM)#xff0c;是英文“Pulse Width Modulation”的缩写#xff0c;简称脉宽调制#xff0c;是在具有惯性的系统中利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术#xff0c;广泛应用在从测量、通信到功率控制…1、PWM简介
(1)、什么是PWM
脉冲宽度调制(PWM)是英文“Pulse Width Modulation”的缩写简称脉宽调制是在具有惯性的系统中利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术广泛应用在从测量、通信到功率控制与变换和电机控速等的许多领域中。
(2)、PWM参数 a频率 1 / Ts是指1秒钟内信号从高电平到低电平再回到高电平的次数(一个周期) b占空比 Ton / Ts有效电平与周期之比 c分辨率 占空比变化步距 2、控制亮度
通过PWM可以改变输出电压RPi.GPIO库内置了PWM的相关方法通过它3任意一个GPIO引脚都能进行PWM输出。LED灯的接线仍然不变接第11脚GPIO17。
3、代码
import RPi.GPIO as GPIO
import timePWM_LED 11
# 指定编号规则为BOARD
GPIO.setmode(GPIO.BOARD)# 将11号引脚设置为输出模式
GPIO.setup(PWM_LED, GPIO.OUT)# 创建一个 PWM 实例需要两个参数
# 第一个是GPIO端口号这里我们用12号
# 第二个是频率Hz频率越高LED看上去越不会闪烁相应对CPU要求就越高设置合适的值就可以
pwm GPIO.PWM(PWM_LED, 80)# 启用 PWM参数是占空比范围0.0 占空比 100.0
pwm.start(0)try:while True:# 电流从小到大LED由暗到亮for i in range(0, 101, 1):# 更改占空比pwm.ChangeDutyCycle(i)time.sleep(0.02)# 再让电流从大到小LED由亮变暗for i in range(100, -1, -1):pwm.ChangeDutyCycle(i)time.sleep(0.02)# 捕捉 CtrlC 强制中断的动作以便于清理GPIO引脚
except KeyboardInterrupt:pass# 停用 PWM
pwm.stop()# 清理GPIO引脚
GPIO.cleanup()