使用 RPi.GPIO
库来控制 Raspberry Pi 的 GPIO 引脚相对简单。以下是一个基本的指南,帮助你开始使用 RPi.GPIO
控制 GPIO 引脚:
安装 RPi.GPIO
库
在 Raspberry Pi 上,你可以使用以下命令安装 RPi.GPIO
库:
sudo apt-get update
sudo apt-get install python3-rpi.gpio
导入库
在你的 Python 脚本中,首先需要导入 RPi.GPIO
库:
import RPi.GPIO as GPIO
设置 GPIO 模式
你需要设置 GPIO 引脚的编号模式,通常使用 BCM(Broadcom SOC Channel)或 BOARD(物理引脚编号)模式:
GPIO.setmode(GPIO.BCM) # 使用 BCM 模式
# 或者
GPIO.setmode(GPIO.BOARD) # 使用 BOARD 模式
设置 GPIO 引脚
接下来,你需要设置 GPIO 引脚为输入或输出模式:
GPIO.setup(17, GPIO.OUT) # 设置 GPIO 17 为输出模式
# 或者
GPIO.setup(18, GPIO.IN) # 设置 GPIO 18 为输入模式
控制 GPIO 引脚
- 设置输出引脚的电平:
GPIO.output(17, GPIO.HIGH) # 将 GPIO 17 设置为高电平(3.3V)
GPIO.output(17, GPIO.LOW) # 将 GPIO 17 设置为低电平(0V)
- 读取输入引脚的电平:
input_value = GPIO.input(18) # 读取 GPIO 18 的电平,返回 GPIO.HIGH 或 GPIO.LOW
清理 GPIO 状态
在脚本结束时,应该清理 GPIO 状态,以避免引脚状态干扰后续的操作:
GPIO.cleanup() # 清理所有引脚的状态
完整示例
下面是一个简单的示例,演示如何控制一个 LED 灯的开关:
import RPi.GPIO as GPIO
import time
# 使用 BCM 编号模式
GPIO.setmode(GPIO.BCM)
# 设置 GPIO 17 为输出模式
GPIO.setup(17, GPIO.OUT)
try:
while True:
GPIO.output(17, GPIO.HIGH) # 点亮 LED
time.sleep(1) # 等待 1 秒
GPIO.output(17, GPIO.LOW) # 熄灭 LED
time.sleep(1) # 等待 1 秒
except KeyboardInterrupt:
pass
# 清理 GPIO 状态
GPIO.cleanup()
这个示例程序会使连接到 GPIO 17 的 LED 每秒闪烁一次。当你按下 Ctrl+C
中断程序时,GPIO 状态将被清理。