脉宽调制(PWM)是指用微处理器的数字输出来对模拟电路进行控制,是一种对模拟信号电平进行数字编码的方法。在树莓派上,可以通过对GPIO的编程来实现PWM。

创建一个 PWM 实例:

p = GPIO.PWM(channel, frequency)

启用 PWM:

p.start(dc)   # dc 代表占空比(范围:0.0 <= dc >= 100.0)

更改频率:

p.ChangeFrequency(freq)   # freq 为设置的新频率,单位为 Hz

更改占空比:

p.ChangeDutyCycle(dc)  # 范围:0.0 <= dc >= 100.0

停止 PWM:

p.stop()

注意,如果实例中的变量“p”超出范围,也会导致 PWM 停止。

以下为使 LED 每两秒钟闪烁一次的示例:

import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12, GPIO.OUT)p = GPIO.PWM(12, 0.5)
p.start(1)
input('点击回车停止:')   # 在 Python 2 中需要使用 raw_input
p.stop()
GPIO.cleanup()

以下为使 LED 在亮/暗之间切换的示例:

import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12, GPIO.OUT)p = GPIO.PWM(12, 50)  # 通道为 12 频率为 50Hz
p.start(0)
try:while 1:for dc in range(0, 101, 5):p.ChangeDutyCycle(dc)time.sleep(0.1)for dc in range(100, -1, -5):p.ChangeDutyCycle(dc)time.sleep(0.1)
except KeyboardInterrupt:pass
p.stop()
GPIO.cleanup()

本文来自:树莓派实验室
链接地址:
http://shumeipai.nxez.com/2014/11/13/rpi-gpio-module-pwm-basic-function.html

使用 RPI.GPIO 模块的脉宽调制(PWM)功能相关推荐

  1. 树莓派模拟量输入范围_使用 RPi.GPIO 模块的输入(Input)功能

    这篇日志的内容应该算是<RPi.GPIO 模块使用基础>Input 部分的扩展讲解,详细讲解了 Input 部分的一些高级应用技巧. 目前有几种途径可以在您的程序中获得 GPIO 的输入信 ...

  2. 树莓派笔记(三) 使用 RPi.GPIO 模块

    目录 树莓派笔记(三) 使用 RPi.GPIO 模块 RPi.GPIO 引脚简介 引脚编号 引脚图 引脚设置 指定引脚编号系统 配置通道 释放引脚 输出 pwm 输入 上拉/下拉电阻 轮询输入 中断和 ...

  3. 树莓派Raspberry Pi上安装和使用RPi.GPIO模块以及引脚对照表

    记录自己学习树莓派的过程. 如果要使用Python来使用GPIO信号,需要使用RPi.GPIO模块. 如果你使用的是Python2版本,树莓派默认安装了RPi.GPIO模块(python-rpi.gp ...

  4. RPi.GPIO 官方使用文档翻译

    简介 源代码及其来源 RPi.GPIO是python的一个module( 模块 ), 树莓派官方系统默认已经安装, 仍在不断更新中, 截至20160314, 最新版0.6.2, 适配了树莓派3, 访 ...

  5. Raspuberry PI3 RPi.GPIO 官方文档翻译

    最近毕业设计用到了Raspberry pi 做毕业设计,在学校学得编程语言是C,但是raspberry pi的官方推荐编程语言是Python,当然raspberry也有基于C的IO包,但是我的毕业设计 ...

  6. RASPBERRY PI3 - RPi.GPIO 官方使用文档翻译

    简介 源代码及其来源 RPi.GPIO是Python的一个module( 模块 ), 树莓派官方系统默认已经安装, 仍在不断更新中, 截至20160314, 最新版0.6.2, 适配了树莓派3, 访 ...

  7. GPIO模块常用的一些方法

    官方文档:https://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/ https://blog.csdn.net/fhqlongt ...

  8. 树莓派教程 - 1.1 树莓派GPIO库wiringPi 硬件PWM可调频率

    Git例程源码仓库:https://github.com/ZhiliangMa/raspberry.git 使用到的硬件: led,200Ω左右的电阻.杜邦线. 上一节使用最基本的 GPIO数字输出, ...

  9. DSP芯片F2803x系列之PWM模块及高精度PWM使用

    DSP芯片F2803x之ePWM模块 文章目录 1 ePWM模块概述 2 ePWM模块构成 3 ePWM各子模块 3.1 TB模块 3.2 CC模块 3.3 AQ模块 3.4 DB模块 3.5 PC模 ...

最新文章

  1. pandas分层索引(层级索引、MultiIndex)的创建、取值、切片、统计计算以及普通索引和层级索引的转换方法
  2. 当机器人遇上神经科学时,将会发生什么?
  3. 搜狗浏览器收藏夹在哪_是时候换个快速安全的浏览器了,这一次它一定不负众望...
  4. mybatis mapper.xml 文件共用_MyBatis 缓存原来是这么一回事儿!| 原力计划
  5. C++的精髓——虚函数
  6. 为安装好的SSAS实例重命名
  7. Java-标识符和关键字
  8. 第三节:ES6中另一个不得不说的关键字const
  9. python爬虫需要学哪些知识_Python爬虫需要学习那些东西?
  10. 【熵系列-3】相对熵(或者 KL散度)
  11. win10电脑开启卓越性能
  12. css鼠标移入变成小手
  13. word2007工具栏隐藏了怎样能一直显示?
  14. php支付宝发卡源码,个人发卡系统支付宝即时到帐大气源码
  15. 利用外观模式Java投资理财_Java设计模式之外观模式和装饰器模式的设计(精选)...
  16. *LOJ#2134. 「NOI2015」小园丁与老司机
  17. java的nullpoint_Java中避免NullPointerException的方法总结
  18. IOS下使用GSOAP(客户端)
  19. 8 Hibernate:关联映射(Associations)
  20. zufeoj 引水工程

热门文章

  1. 达沃斯议程对话会:张亚勤解读人工智能发展 3R 原则
  2. Python实现信息自动配对爬虫排版程序
  3. 张钹院士:探索第三代人工智能,需要勇闯无人区的人才
  4. 优化思路千万种,基于下界函数的最优化效率如何?
  5. Python如何爬取实时变化的WebSocket数据
  6. 科技公司开始重视AI伦理,他们都是怎么做的?
  7. 想去苹果做AI?看看你够不够格
  8. 用好这几款炼丹利器,调参从此得心应手
  9. 周杰伦林俊杰李宗盛快失业了!有了AI,未来人人都能秒变作曲家
  10. Spring Boot + EasyExcel 导入导出,好用到爆,可以扔掉 POI 了!