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

总结:也可以像操作普通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-getinstall 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

示例代码

importRPi.GPIOasGPIO#先要导入模块

##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

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

参与讨论
登录后参与讨论
属于自己的技术积累分享,成为嵌入式系统研发高手。
最近文章
签名类型
2024-04-29 16:28:59
cat 文件名
2024-04-29 15:05:34
推荐文章
最近访客