引脚:引脚,又叫管脚,英文叫Pin。就是从集成电路(芯片)内部电路引出与外围电路的接线,所有的引脚就构成了这块芯片的接口。引线末端的一段,通过软钎焊使这一段与印制板上的焊盘共同形成焊点。引脚可划分为脚跟(bottom)、脚趾(toe)、脚侧(side)等部分。
GIPO:通用输入输出接口,他有40个引脚,通俗地说,就是一些引脚,可以通过它们输出高低电平或者通过它们读入引脚的状态-是高电平或是低电平。GPIO是个比较重要的概念,用户可以通过GPIO口和硬件进行数据交互(如UART),控制硬件工作(如LED、蜂鸣器等),读取硬件的工作状态信号(如中断信号)等。GPIO口的使用非常广泛。掌握了GPIO,差不多相当于掌握了操作硬件的能力。
控制GPIO:
导入Rpi.GPIO模块
import RPi.GPIO as GPIO
针脚编号:第一种是board编号,他不受树莓派版本的限制,第二种是bcm,对于不同的树莓派版本,编写的脚本文件也可能无法通用
GPIO.setmode(GPio.BOARD)
GPIO.setmode(GPio.BCM)
#重置方式
mode = GPIO.getmode()
引脚设置:使用前你需要设置这些引脚作为输入或输出。配置一个引脚
#将引脚设置为输入模式 GPIO.setup(channel,GPIO.IN) #将引脚设置为输出模式 GPIO.setup(channel,GPIO.OUT) #为输出的引脚设置默认值 GPIO.setup(channel,GPIO.OUT,inital=GPIO.HIGH)
释放
一般来说,程序最后都需要释放资源,这个好习惯可以避免偶然损害引脚
GPIO.clanup()
输出:要想点亮一个LED灯或者一个设备,都需要给他们电流和电压,这个步骤很简单,
GPIO.outup(channel,state)
状态可以设置为0 / GPIO.LOW / False / 1 / GPIO.HIGH / True。如果编码规则为,GPIO.BOARD,那么channel就是对应引脚的数字。
设置多个引脚
chan_list = [11,12]
GPIO.output(chan_list, GPIO.LOW)
GPIO.output(chan_list, (GPIO.HIGH, GPIO.LOW))
你还可以使用Input()函数读取一个输出引脚的状态并将其作为输出值,例如:
GPIO.output(12, not GPIO.input(12))
读取
我们也常常需要读取引脚的输入状态,获取引脚输入状态如下代码:
GPIO.input(channel)
LED灯:
import RPi.GPIO as GPIO //引入函数库 import time RPi.GPIO.setmode(GPIO.BOARD) //设置引脚编号规则 RPi.GPIO.setup(11, RPi.GPIO.OUT) //将11号引脚设置成输出模式 while True GPIO.output(channel, 1) //将引脚的状态设置为高电平,此时LED亮了 time.sleep(1) //程序休眠1秒钟,让LED亮1秒 GPIO.output(channel, 0) //将引脚状态设置为低电平,此时LED灭了 time.sleep(1) //程序休眠1秒钟,让LED灭1秒 GPIO.cleanup() //程序的最后别忘记清除所有资源