0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何通过PWM做一个呼吸灯

麦辣鸡腿堡 来源:古月居 作者:古月居 2023-11-27 11:40 次阅读

接下来我们就来试一试,通过PWM让一个LED实现不同亮度的变化,也就是我们常见的呼吸灯了。

硬件接线

还是用这个LED灯,一端连接电阻,再到5V高电平的引脚,另外一端,接到33号引脚的PWM接口

运行示例程序

大家先来运行例程,看看效果如何。

$ sudo python3 simple_pwm.py

我们来看一下实物的操作,按照刚才的设置,将实物连接完成,然后连接到X3Pi,运行刚才的程序。就可以看到这样的一个呼吸灯的效果了。

图片

代码解析

simple_pwm.py:

#!/usr/bin/env python3


import Hobot.GPIO as GPIO
import time


# 支持PWM的管脚: 32 and 33, 在使用PWM时,必须确保该管脚没有被其他功能占用
output_pin = 33


def main():
    # Pin Setup:
    # Board pin-numbering scheme
    GPIO.setmode(GPIO.BOARD)
    # 支持的频率范围:48KHz ~ 192MHz
    p = GPIO.PWM(output_pin, 48000)
    # 初始占空比 25%, 先每0.25秒增加5%占空比,达到100%之后再每0.25秒减少5%占空比
    val = 25
    incr = 5
    p.ChangeDutyCycle(val)
    p.start(val)


    print("PWM running. Press CTRL+C to exit.")
    try:
        while True:
            time.sleep(0.25)
            if val >= 100:
                incr = -incr
            if val <= 0:
                incr = -incr
            val += incr
            p.ChangeDutyCycle(val)
    finally:
        p.stop()
        GPIO.cleanup()


if __name__ == '__main__':
    main()

一样的引入GPIO的库,然后设置管脚编码模式为BOARD,然后创建一个PWM的实例化对象p,同时设置他的频率,之后就可以通过ChangeDutyCycle来改变他的占空比,在循环当中,占空比大于等于100时,就会以5%的梯度减小;当小于等于0时,就会以5%的梯度增大。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    237

    文章

    22455

    浏览量

    645903
  • 电阻
    +关注

    关注

    85

    文章

    5042

    浏览量

    169673
  • PWM
    PWM
    +关注

    关注

    114

    文章

    4901

    浏览量

    209970
收藏 人收藏

    评论

    相关推荐

    我想做一个心型的呼吸(铺满LED的)反应我的心跳,求助

    `我想做一个心型的呼吸(铺满LED的)反应我的心跳,求助。懂的联系我,QQ649855682`
    发表于 03-15 09:30

    超级简单的呼吸的制作

    用LED做一个呼吸常用的思路是利用PWM,随时间调整P
    发表于 10-16 16:56

    PWM实现呼吸效果

    本文转载自 亚博智能论坛现在我们玩有趣且简单的,纯粹用编程的手法来让LED渐明渐暗,如同呼吸般,所以我们给它起了神奇的名字,
    发表于 07-20 15:03

    dsp pwm 呼吸

    请问有没有DSP PWM呼吸的原理讲解及例程,新手,谢谢!
    发表于 10-17 19:32

    基于stm32的PWM呼吸工程分享

    使用pwm波调整led的亮度,其中led的文件包含在附件里面,代码如下:通过TIM3通用定时器的CH1通道输出
    发表于 07-02 07:51

    基于stm32的PWM呼吸工程分享

    使用pwm波调整led的亮度,其中led的文件包含在附件里面,代码如下:通过TIM3通用定时器的CH1通道输出
    发表于 07-06 07:37

    新手,stm8s105k4要做一个呼吸要怎么做

    刚开始学stm8,很多东西都不太懂,想做一个呼吸要怎么做呢?百度上看了好多但是都不太懂。有人能给个例程吗,最好有注释。
    发表于 03-16 13:14

    51单片机基于C语言I/O口模拟PWM输出实现呼吸功能

    解释下自己的思路本人把呼吸函数放在了定时器中断中,通过函数标志位是否被置1来控制呼吸功能是
    发表于 09-15 13:56

    怎么通过PWM来实现呼吸

    个人理解:如果能实现电压的变化就能实现呼吸了,如果能得到类似正弦电压的电压,那么就能实现这个呼吸
    发表于 08-11 06:17

    PWM输出制作呼吸

    PWM:脉冲宽度调制(Pulse width modulation)。PWM输出实验,制作呼吸
    发表于 08-18 07:10

    通过PWM调制模拟呼吸

    //功能:通过PWM调制模拟呼吸//名称:呼吸#include //调用含有51专用寄存器的
    发表于 11-17 08:25

    基于PWM和STM32如何去实现呼吸的简单程序呢

    PWM的基本原理是什么?如何产生PWM呢?基于PWM和STM32如何去实现呼吸
    发表于 11-19 07:40

    基于51单片机的七彩呼吸设计资料分享

    ”。(4)按键3按下时,恢复起始亮法。1 先做一个呼吸由易到难,先做一个呼吸
    发表于 11-19 07:11

    PWM实现呼吸流程

    Conceit is the quicksand of success.  自负是成功的流沙。PWM实现呼吸PWM概述相关概念PWM设置流
    发表于 01-13 06:41

    PWM实现呼吸的应用

    stm32实现PWM最简单方法前言PWM概念二、PWM应用输出比较功能框图三、PWM呼吸
    发表于 01-21 13:18