树莓派3B+ GPIO输入输出使用
2018-11-30 本文已影响0人
有事没事扯扯淡
下图中的40个引脚就是 GPIO ,可以参考官方文档
image.pngpython3 程序控制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模式管脚示意图(一般都常用这个)
上图中,3.3v 就是 3.3v输出,5v 就是 5v输出 ,地就是地。我们没办法通过软件编程的方法对它们进行设置,这也是为什么它们没有编号。
每个管脚可以设置两种模式:
-
设置为输出,输出高电平(3.3v)或输出低电平(0v);
-
设置为输入,这时可以接收信号,这一信号不光可以来自机械开关,还可以是各式各样的传感器或其他设备。
!!注意!!
将 GPIO 连接到超过 3.3v 的电压上,可能会烧毁 GPIO 模块。
下面是找的画的很好看的BOARD模式管脚示意图(physical numbers)
示例代码
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库的编号对应表,如下图
如果我们要操作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