python控制灯_树莓派python编程 做一个LED呼吸灯「建议收藏」

呼吸灯概述上一篇我们通过控制GPIO口输出高低电平来控制一只LED的亮灭。这次我们来控制LED的亮度,灯由暗渐渐变亮,再由亮渐渐边暗,反复循环,也就是呼吸灯的效果。按Ctrl+C结束程序。通过本节课,你能学习到:脉冲宽度调制技术所需硬件树莓派x1面包板x1杜邦线x2LED灯x1名称解释我们知道,通过LED的电流越大,LED越亮,电流越小,LED越暗。如果可以控制输出电流大小就可…

大家好,又见面了,我是你们的朋友全栈君。

呼吸灯

概述

上一篇 我们通过控制GPIO口输出高低电平来控制一只 LED 的亮灭。这次我们来控制 LED 的亮度,灯由暗渐渐变亮,再由亮渐渐边暗,反复循环,也就是呼吸灯的效果。按 Ctrl+C结束程序。

通过本节课,你能学习到:

脉冲宽度调制技术

所需硬件

树莓派 x1

面包板 x1

杜邦线 x2

LED灯 x1

名称解释

我们知道,通过LED的电流越大,LED越亮,电流越小,LED越暗。如果可以控制输出电流大小就可以控制LED的明暗了。但是树莓派的各引脚并没有直接调整输出电流大小的功能,要想别的办法。这里,我们需要了解以下2个名词:

脉宽调制(PWM)

脉冲宽度调制(PWM)是一种利用数字手段获得模拟结果的技术。数字控制用于创建方波,电平在高和低之间切换。简单的说,PWM技术就是不停的通断电路并控制通断持续的时间片段长度,从而控制用电器在单位时间内实际得到的电能。再简单点说,如果你的手足够快,打开电灯开关后马上关闭,如果这个时间间隔足够短,灯丝还没有全部亮起来就暗下去了。你再次打开电灯再关闭,再打开再关闭……如果你一直保持相同的频率,那么电灯应该会保持一个固定的亮度不变。理论上,你可以通过调整开灯持续的时间长度和关灯持续的时间长度的比例就能得到不同亮度了。

“导通时间”的持续时间称为脉冲宽度。要获得不同的模拟值,可以更改该脉冲的宽度。

占空比

一个脉冲循环内通电时间所占的比例。

beepress1-1540734246.jpeg

连线图

在开始连接硬件电路之前,首先要做的事是将树莓派电脑关机,并断开电源。因为如果树莓派主板带电的时候,进行插接电路可能会导致电子元器件的烧毁,所以一定要记住:连接电路的时候主板必须断电。本次的接线图和上一篇(第一个GPIO控制LED小灯的程序)连线图完全一样

beepress4-1540734246.jpeg

图片使用 Fritzing 绘制,更多示例图片请到 Fritzing官网 浏览。

电路原理图

beepress2-1540734246.jpeg

示例代码截图防缩进失效!!!

beepress9-1540734247.jpeg

beepress8-1540734247.jpeg

保存文件为

breathing-light.py

,并运行之。

sudo python breathing-light.py

最终效果

beepress5-1540734247.gif

相关课程目录

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127963.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • django示例_介绍信模板

    django示例_介绍信模板前言目前市面上有非常多的模板系统,其中最知名最好用的就是DTL和Jinja2。DTL是DjangoTemplateLanguage三个单词的缩写,也就是Django自带的模板语言。当然也可以配置

    2022年7月30日
  • node.js 常用命令「建议收藏」

    node.js 常用命令「建议收藏」​​​​废话不多说,直接开干????基础命令,npm的一些重要命令,拿到就是赚到,有赞必回

    2022年7月16日
  • FPGA实现uart_FPGA的EMU接口

    FPGA实现uart_FPGA的EMU接口一、顶层设计思路:UART即通用异步收发传输接口(UniversalAsynchronousReceiver/Transmitter),简称串口,是一种常用的通信接口,其协议原理就不赘述了,不了解的可以百度。(不赘述不代表不重要,相反,对于每一个FPGA设计,充分理解原理是基础和前提,而FPGA和Verilog只是工具。)用FPGA来实现UART,关键就是要将UART收发数据时的时序用Verilog描述出来。根据UART协议的原理,可以将整个UART分为两个模块…

    2022年9月14日
  • 目前主流的app开发方式

    目前主流的app开发方式移动应用开发三种方式比较随着H5标准的发布以及推广,使得移动应用的开发也受到了很大影响,出于效率、成本等等的原因,移动应用的开发不在完全依赖于“原生”。今天就简单总结一下目前的三大主流移动应用开发类型。APP,一般认为是mobileapplication,也就是移动移动应用程序。1.NativeApp:本地应用程序(原生App)NativeApp是一种基于智能手…

    2022年5月30日
  • H5添加QQ好友的链接

    tencent://AddContact/?fromId=45&fromSubId=1&subcmd=all&uin=你的QQ号&website=www.oicqzone.com既点击有如下效果:

    2022年4月17日
  • 如何搭建yum源仓库_yum源在哪个目录

    如何搭建yum源仓库_yum源在哪个目录cd/etc/yum.repos.dtouchaliyun.repovialiyun.repoi(输入状态,否则会丢失部分头部字符)粘贴以下内容esc:wqyummakecache提示成功阿里云yum源仓库#CentOS-Base.repo##ThemirrorsystemusestheconnectingIPaddressoftheclientandthe#updatestatusofeachmirrortopickmirr

    2022年10月26日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号