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
    +关注

    关注

    240

    文章

    23091

    浏览量

    657429
  • 电阻
    +关注

    关注

    86

    文章

    5454

    浏览量

    171514
  • PWM
    PWM
    +关注

    关注

    114

    文章

    5123

    浏览量

    213246
收藏 人收藏

    评论

    相关推荐

    FPGA学习系列:15. 呼吸pwm)设计

    , 起到通知提醒的作用。 设计原理 : 关于呼吸设计实现的理论主要是 PWM 有关知识。 PWM
    的头像 发表于 06-13 11:21 2w次阅读
    FPGA学习系列:15. <b class='flag-5'>呼吸</b><b class='flag-5'>灯</b>(<b class='flag-5'>pwm</b>)设计

    PWM驱动LED实现呼吸效果

    C51 利用pwm 驱动LED 实现呼吸效果
    的头像 发表于 04-24 15:29 3664次阅读
    <b class='flag-5'>PWM</b>驱动LED实现<b class='flag-5'>呼吸</b><b class='flag-5'>灯</b>效果

    超级简单的呼吸的制作

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

    PWM实现呼吸效果

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

    怎么通过PWM来实现呼吸

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

    通过PWM调制模拟呼吸

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

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

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

    PWM实现呼吸的应用

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

    如何制作键盘呼吸

    说到呼吸的设计,也许大家最先想到的就是苹果。很多人也都想自己做一个呼吸,起到装饰和工作状态指示效果。下面,我们就介绍几种
    发表于 06-11 10:04 6361次阅读
    如何制作键盘<b class='flag-5'>呼吸</b><b class='flag-5'>灯</b>

    使用51单片机做一个简易呼吸的程序免费下载

    本文档的主要内容详细介绍的是使用51单片机做一个简易呼吸的程序免费下载。
    发表于 04-01 08:00 1次下载
    使用51单片机<b class='flag-5'>做一个</b>简易<b class='flag-5'>呼吸</b><b class='flag-5'>灯</b>的程序免费下载

    51单片机 呼吸 七彩呼吸

    呼吸”。(4) 按键3按下时,恢复起始亮法。1 先做一个呼吸由易到难,先做一个呼吸
    发表于 11-12 11:51 59次下载
    51单片机 <b class='flag-5'>呼吸</b><b class='flag-5'>灯</b> 七彩<b class='flag-5'>呼吸</b><b class='flag-5'>灯</b>

    STM32_PWM呼吸

    1、什么叫呼吸?由亮到暗逐渐变化,很有节奏感地伏,感觉好像人在呼吸,当手机收到消息,屏幕上的指示灯会渐变,比较显眼,能起到
    发表于 11-26 12:21 20次下载
    STM32_<b class='flag-5'>PWM</b><b class='flag-5'>呼吸</b><b class='flag-5'>灯</b>

    STM32—PWM控制呼吸实验

    目录.PWM简介PWM生成方法二、PWM控制单色LED—单色呼吸硬件说明代码分析进行验证示波
    发表于 12-08 14:51 32次下载
    STM32—<b class='flag-5'>PWM</b>控制<b class='flag-5'>呼吸</b><b class='flag-5'>灯</b>实验

    STM32 使用PWM实现呼吸

    STM32 PWM实现呼吸使用STM32F103ZET6 定时器4 CH2通道产生PWM波,在GPIOD,GPIO_PIN13引脚LED1产生呼吸
    发表于 12-24 19:41 55次下载
    STM32 使用<b class='flag-5'>PWM</b>实现<b class='flag-5'>呼吸</b><b class='flag-5'>灯</b>

    通过STM32实现PWM呼吸的教程

    顾名思义,就是的亮度的变化,由亮变暗,从暗变亮,有渐变,规律的变化,像是人的
    的头像 发表于 07-26 15:20 1.2w次阅读
    <b class='flag-5'>通过</b>STM32实现<b class='flag-5'>PWM</b><b class='flag-5'>呼吸</b><b class='flag-5'>灯</b>的教程