新闻  |   论坛  |   博客  |   在线研讨会
树莓派3B+ GPIO输入输出使用
电子禅石 | 2019-11-25 17:34:19    阅读:13878   发布文章

总结:也可以像操作普通GPIO 的方式进行操作,比如echo 18 > /sys/class/gpio/export

注意这里的引脚编号使用BCM编码。

下图中的40个引脚就是 GPIO ,可以参考官方文档

1.png 

image.png

python3 程序控制GPIO

GPIO (General Purpose Input/Output) 的意思就是通用型输入输出,可以使用 python 的第三方库 RPi.GPIO 进行控制。一般都预安装了,如果没装就自己装一下:

sudo apt-get install python3-rpi.gpio# pyhton2 : sudo apt-get install python-rpi.gpio

GPIO编号有两种编号模式(BOARD)和(BCM,下面是找的画的很好看的BCM模式管脚示意图(一般都常用这个)

2.png 

image.png

上图中,3.3v 就是 3.3v输出,5v 就是 5v输出 ,地就是地。我们没办法通过软件编程的方法对它们进行设置,这也是为什么它们没有编号。

每个管脚可以设置两种模式:

· 

设置为输出,输出高电平(3.3v)或输出低电平(0v);

· 

· 

设置为输入,这时可以接收信号,这一信号不光可以来自机械开关,还可以是各式各样的传感器或其他设备。

· 

!!注意!!

GPIO 连接到超过 3.3v 的电压上,可能会烧毁 GPIO 模块。

 

下面是找的画的很好看的BOARD模式管脚示意图(physical numbers)

3.png 

image.png

示例代码

import RPi.GPIO as GPIO   #先要导入模块

##BCM 对应 GPIO numbers , BOARD 对应 physical numbers。

GPIO.setmod(GPIO.BCM)     #选择 GPIO numbers 编号系统

 

GPIO.setmode(2,GPIO.OUT)    #把引脚 2  设置为输出模式

GPIO.setmode(3,GPIO.IN)     #把引脚 3 设置为输入模式

 

GPIO.output(2,True)       #让引脚 2 输出高电平

GPIO.output(2,False)      #让引脚 2 输出低电平

print(GPIO.input(3))      #打印引脚3的输入状态 1/0

 

利用QT开发GUI,控制GPIO引脚

QT中控制GPIO主要是使用wiringPi库,树莓派已自带,查询树莓派的物理引脚与wiringPi库的编号对应表,如下图

 

4.png 

 

如果我们要操作GPIO2,对应的物理引脚为3,操作引脚的时候,引脚序号就为8(wPI),当前模式为输出,V代表的是当前的输入电压,1-3.3V,0-0V。

主要参考下面的大神们:

https://www.jianshu.com/p/1db0b3e4fd56
https://blog.csdn.net/qq21497936/article/details/79758560
https://blog.csdn.net/lucifly/article/details/80480959



链接:https://www.jianshu.com/p/4797309f3f94

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
属于自己的技术积累分享,成为嵌入式系统研发高手。
推荐文章
最近访客