使用 RPI.GPIO 模块的脉宽调制(PWM)功能
脉宽调制(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)功能相关推荐
- 树莓派模拟量输入范围_使用 RPi.GPIO 模块的输入(Input)功能
这篇日志的内容应该算是<RPi.GPIO 模块使用基础>Input 部分的扩展讲解,详细讲解了 Input 部分的一些高级应用技巧. 目前有几种途径可以在您的程序中获得 GPIO 的输入信 ...
- 树莓派笔记(三) 使用 RPi.GPIO 模块
目录 树莓派笔记(三) 使用 RPi.GPIO 模块 RPi.GPIO 引脚简介 引脚编号 引脚图 引脚设置 指定引脚编号系统 配置通道 释放引脚 输出 pwm 输入 上拉/下拉电阻 轮询输入 中断和 ...
- 树莓派Raspberry Pi上安装和使用RPi.GPIO模块以及引脚对照表
记录自己学习树莓派的过程. 如果要使用Python来使用GPIO信号,需要使用RPi.GPIO模块. 如果你使用的是Python2版本,树莓派默认安装了RPi.GPIO模块(python-rpi.gp ...
- RPi.GPIO 官方使用文档翻译
简介 源代码及其来源 RPi.GPIO是python的一个module( 模块 ), 树莓派官方系统默认已经安装, 仍在不断更新中, 截至20160314, 最新版0.6.2, 适配了树莓派3, 访 ...
- Raspuberry PI3 RPi.GPIO 官方文档翻译
最近毕业设计用到了Raspberry pi 做毕业设计,在学校学得编程语言是C,但是raspberry pi的官方推荐编程语言是Python,当然raspberry也有基于C的IO包,但是我的毕业设计 ...
- RASPBERRY PI3 - RPi.GPIO 官方使用文档翻译
简介 源代码及其来源 RPi.GPIO是Python的一个module( 模块 ), 树莓派官方系统默认已经安装, 仍在不断更新中, 截至20160314, 最新版0.6.2, 适配了树莓派3, 访 ...
- GPIO模块常用的一些方法
官方文档:https://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/ https://blog.csdn.net/fhqlongt ...
- 树莓派教程 - 1.1 树莓派GPIO库wiringPi 硬件PWM可调频率
Git例程源码仓库:https://github.com/ZhiliangMa/raspberry.git 使用到的硬件: led,200Ω左右的电阻.杜邦线. 上一节使用最基本的 GPIO数字输出, ...
- 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模 ...
最新文章
- pandas分层索引(层级索引、MultiIndex)的创建、取值、切片、统计计算以及普通索引和层级索引的转换方法
- 当机器人遇上神经科学时,将会发生什么?
- 搜狗浏览器收藏夹在哪_是时候换个快速安全的浏览器了,这一次它一定不负众望...
- mybatis mapper.xml 文件共用_MyBatis 缓存原来是这么一回事儿!| 原力计划
- C++的精髓——虚函数
- 为安装好的SSAS实例重命名
- Java-标识符和关键字
- 第三节:ES6中另一个不得不说的关键字const
- python爬虫需要学哪些知识_Python爬虫需要学习那些东西?
- 【熵系列-3】相对熵(或者 KL散度)
- win10电脑开启卓越性能
- css鼠标移入变成小手
- word2007工具栏隐藏了怎样能一直显示?
- php支付宝发卡源码,个人发卡系统支付宝即时到帐大气源码
- 利用外观模式Java投资理财_Java设计模式之外观模式和装饰器模式的设计(精选)...
- *LOJ#2134. 「NOI2015」小园丁与老司机
- java的nullpoint_Java中避免NullPointerException的方法总结
- IOS下使用GSOAP(客户端)
- 8 Hibernate:关联映射(Associations)
- zufeoj 引水工程