树莓派_GPIO

引脚:引脚,又叫管脚,英文叫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()    //程序的最后别忘记清除所有资源

 
原文地址:https://www.cnblogs.com/Alom/p/12482723.html