树莓派GPIO口的使用
树莓派的优势在于Liunx操作系统加GPIO口,其中IO口时物联网组成中不可缺少的,高低电平的控制是很有必要的存在,再加有python的支持,玩转GPIO相对就容易多了
管脚编号
BCM: 编号侧重 CPU 寄存器,根据 BCM2835 的 GPIO 寄存器编号。
wpi: 编号侧重实现逻辑,把扩展 GPIO 端口从 0 开始编号,这种编号方便编程。正如下图 WiringPi 栏。
引脚物理编号排序:方形焊接口为1脚,两两为序,先短后长

配置GIPO为输出
1、首先对 RPi.GPIO 进行设置
|
|
2、设置某个输出针脚状态为高电平:
|
|
3、设置某个输出针脚状态为低电平:
|
|
4、程序结束后进行清理
|
|
注意,您可以读取使用 input() 函数设置的输出通道的当前状态。例如对输出进行切换:
|
|
配置GIPO为输入:
1、首先对 RPi.GPIO 进行设置:
|
|
2、判断输入电平状态:
GPIO.input(12)#返回0/GPIO.LOW/False/1/GPIO.HIGH/True |
3、上下拉配置:
|
GPIO.setup(12, GPIO.IN, pull_up_down=GPIO.PUD_UP)//上拉 # 或者 GPIO.setup(12, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)//下拉 |
4、轮询检测:
|
|
5、边缘检测1: GPIO.RISING(上升)、GPIO.FALLING(下降)、GPIO.BOTH(两者均可)
|
|
6、边缘检测2:
|
|
7、程序结束后进行清理
| GPIO.cleanup() #释放引脚 |
配置GIPO的PWM输出:
1、首先对 RPi.GPIO 进行设置:
|
import RPi.GPIO as GPIO GPIO.setmode(GPIO.BOARD) GPIO.setup(12, GPIO.OUT)#输出 p = GPIO.PWM(12, 50) #创建一个 PWM 实例:通道,频率(一般为50HZ,可为100HZ) |
2、启用 PWM:
| p.start(dc) # dc 代表占空比(范围:(熄灭)0.0 <= dc >= 100.0(最亮)) |
3、更改频率:
| p.ChangeFrequency(freq) # freq 为设置的新频率,单位为 Hz |
4、更改占空比:
| p.ChangeDutyCycle(dc) # 范围:0.0 <= dc >= 100.0 |
5、停止PWM:
|
p.stop() #停止 PWM GPIO.cleanup()#释放 |
一次性设置多个引脚
|
|
树莓派GPIO口的使用的更多相关文章
- 树莓派GPIO口驱动编写
一.wiringpi写法 #include <wiringPi.h> #include <stdlib.h> int main(int argc,char *argv[]) { ...
- [转]树莓派gpio口控制
0.前言 树莓派现在越来越火,网上树莓派的资料也越来越多.树莓派源自英国,国外嵌入式开源领域具有良好的分享精神,树莓派各种集成库也层出不穷,下面推荐几个. [[开发语言]——python [[ ...
- Python自动化编程-树莓派GPIO编程(二)
树莓派我们编程一般都直接用高效的python,针对于GPIO编程,python也是有这一方面的库的,这里最有名也是最常用的就是RPI.GPIO了.这个库是专门为树莓派GPIO编程所设计的,利用它你可以 ...
- 树莓派GPIO控制RGB彩色LED灯
树莓派GPIO通过PWM来控制RGB彩色LED灯,可以显示任何我们想要的颜色. RGB模块简介 这个RGB彩色LED里其实有3个灯,分别是红灯.绿灯和蓝灯.控制这三个灯分别发出不同强度的光,混合起来就 ...
- 树莓派GPIO控制LED彩灯
树莓派使用GPIO接口来控制LED灯,自制五彩炫光的节日彩灯. 1.硬件准备 a. 树莓派(Raspberry Pi)一个 b. 彩色RGB二极管 c. 杜邦线 d. 5V电源引脚 以上所有零件均可在 ...
- 树莓派GPIO开发(一):激光头传感器模块的使用
配置环境 系统:Raspbian11(64位) 设备:树莓派CM4 一.写在前面 主要为了测试我捡漏买的CM4的拓展版 拓展板子没有焊接引脚,但是预留的接口 手动焊接一下 测试成功 ,说明我捡的这块板 ...
- STM32f10xxx 之 GPIO口配置
背景 配置stm32f103使其完成PWM输出的过程中,在配置GPIO口的时候,按照习惯配置GPIO口的speed为50MHZ,突然就意识到,为什么大部分例程习惯配置为50MHZ,而不是其它值,即有了 ...
- android gpio口控制
android gpio口控制 GPIO口控制方式是在jni层控制的方式实现高低电平输出,类似linux的控制句柄方式,在linux系统下将每个设备看作一个文件,android系统是基于linux内 ...
- Silicon C8051F340之GPIO口配置与使用
一.背景: 很久前用过C8051,现在有相关需求需要重新使用C8051,然后发现一年前开发的相关经验都忘得 基本上差不多了.连最基本的GPIO口配置还得重新来看手册,所以有此文,做个记录,以备下次快速 ...
随机推荐
- 20172306 2018-2019-2 《Java程序设计与数据结构》第七周学习总结
20172306 2018-2019-2 <Java程序设计与数据结构>第七周学习总结 教材学习内容总结 概述 二叉查找树是一种含有附加属性的二叉树,即其左孩子小于父结点,而父结点又小于或 ...
- 关于CDN与缓存(浏览器和CDN)
本文目录:一.引入 二.CDN定义 三.关于缓存 四.浏览器缓存 一.引入 客户端直接从源站点获取数据,当服务器访问量大时会影响访问速度,进而影响用户体验,且无法保证客户端与源站点间的距离足够短,适合 ...
- Win10配置ADB工具教程
1.在该网站下载adb工具 http://pcedu.pconline.com.cn/748/7481463.html 2. Win10怎么配置ADB环境?Win10怎么安装ADB工具?这想必是很多安 ...
- What is REST API
What is REST REST is acronym for REpresentational State Transfer. It is architectural style for dist ...
- Node.js server-side javascript cpu占用高
也不知道微软咋想的,不搞死我们的电脑不罢休 https://developercommunity.visualstudio.com/content/problem/27033/nodejs-serve ...
- js中创建对象
https://www.cnblogs.com/starof/p/4162354.html
- 最小化webpack项目
先把代码贴出来,以后慢慢加说明 参考资料:入门 Webpack,看这篇就够了 / webpack 搭建自动打开,刷新浏览器 一.功能代码1.index.html <!DOCTYPE html&g ...
- zabbix3.0监控Windows服务器
我们下载后,解压开始有多个文件: conf目录存放是agent配置文件bin文件存放windows下32位和64位安装程序 找到conf下的配置文件 zabbix_agentd.win.conf ,修 ...
- spring multipart源码分析:
1.MultipartResolver MultipartResolver接口提供了spring mvc的上传视图,MultipartResolver实例在请求转交给handlermapping之前. ...
- python 机器学习
十分钟搞定pandas http://www.cnblogs.com/chaosimple/p/4153083.html dummies 哑变量,将变量重新编码,便于二分类,例如男.女,变为0,1等 ...