Skip to main content

Raspberry Pi 简单通过GPIO控制小灯

树莓派的GPIO可以编程控制电平高低。用这个功能可以让树莓派来控制小灯。

环境

  • Python3 编程语言
  • Raspbian 支持树莓派的操作系统都可以

原理

树莓派有Python专用的GPIO库,导入后可以直接控制,具体的操作流程:

  1. 设置GPIO的引脚顺序
  2. 指定GPIO引脚,让它处于输出状态
  3. 指定GPIO引脚,让它输出(高|低)电平
  4. 控制程序结束,释放GPIO接口的资源。

步骤

1. 确定GPIO引脚顺序

官网的 GPIO Pin 预览

树莓派分2种接口编号顺序:

  • BOARD (从左到右,从上到下) 上图的接口中的数字即是BOARD的引脚号。

  • BCM(Broadcom SoC Channel) 按照上图的 GPIO [数字] 标记,要控制的引脚号就是这个 [数字] 的值。

不同型号的树莓派,引脚的BCM编号可能不相同,所以为了一份代码能控制多个版本的树莓派引脚,建议使用BOARD编号。

现在用 BOARD编号12(往下数右4) 的引脚做输出口,接LED灯正极,GND(往下数右3) 接LED负极。

2. 更新Python包

pip3 install RPi.GPIO
# 或者
python3 -m pip3 install RPi.GPIO

3. 写程序

# 导入 GPIO 包
import RPi.GPIO as GPIO

# 设置BOARD编号
GPIO.setmode(GPIO.BOARD)

# 打开12号GPIO引脚,置输出状态
GPIO.setup(12, GPIO.OUT)

# 输出高电平,执行后LED亮灯
GPIO.output(PIN, GPIO.HIGH)

# 输出低电平,执行后LED熄灯
GPIO.output(PIN, GPIO.LOW)

# 释放资源
GPIO.cleanup()

参考文章