4、树莓派-PWM控制led明暗

python RPi.GPIO库支持使用pwm方式控制GPIO引脚,进而控制与GPIO引脚连接的外设。
本次实验使用led灯作为外设,通过PWM脉冲信号控制其亮暗程度的变化。

电路连接如下:
4、树莓派-PWM控制led明暗_第1张图片
其中黑色线接树莓派GND,黄色接BCM编码的2号GPIO,GPIO与LED正极间串联个1k左右的电阻(这里用了2个5k的电阻并联,因为没有小电阻了~~~~~)。

python代码如下:

import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)

GPIO.setup(2, GPIO.OUT)
pwm = GPIO.PWM(2, 100)
pwm.start(0)

while True:
    print("pls input dt: ")
    dt = input()
    pwm.ChangeDutyCycle(int(dt))

这里使用了2号GPIO引脚。
初始PWM占空比为0,即初始状态为熄灭。
通过命令行接收用户输入占空比数值(0~100),然后调用ChangeDutyCycle函数更新GPIO输出的PWM占空比。进而可以控制led等的亮暗程度。

测试效果(亮-pwm占空比100%):
4、树莓派-PWM控制led明暗_第2张图片
测试效果(暗-pwm占空比20%):
4、树莓派-PWM控制led明暗_第3张图片
参考:
https://gpiozero.readthedocs.io/en/stable/migrating_from_rpigpio.html#pwm-pulse-width-modulation

你可能感兴趣的:(Raspberry)