树莓派4 GPIO轻松入门:从基础操作到实战应用,小白也能轻松掌握!

2026-10-28 0 阅读

什么是GPIO?

首先,让我们来了解一下什么是GPIO。GPIO(通用输入输出)是树莓派上的一种功能,它允许树莓派与外部世界进行交互。通过GPIO,你可以控制各种外部设备,比如LED灯、电机、传感器等。GPIO可以是输入,也可以是输出,这取决于你如何配置它。

树莓派4 GPIO接口介绍

树莓派4拥有40个GPIO引脚,分为两排,每排20个。这些引脚可以分为以下几类:

  • 数字GPIO:可以用来输入或输出数字信号,如控制LED灯。
  • 模拟GPIO:可以用来输入模拟信号,如读取传感器的模拟值。
  • 电源引脚:提供5V和3.3V的电源。
  • 地(GND):电路的参考点。

树莓派4 GPIO基础操作

安装树莓派操作系统

首先,你需要为树莓派安装操作系统。Raspberry Pi Imager是一个常用的工具,可以轻松地将操作系统镜像写入到SD卡。

连接GPIO扩展板

为了方便使用GPIO,你可以购买一个GPIO扩展板,将树莓派的GPIO引脚连接到面包板上。这样,你就可以使用跳线连接各种外部设备。

使用Raspbian操作系统

树莓派主要使用Raspbian操作系统,它提供了丰富的库和工具来操作GPIO。

使用GPIO编程

以下是一个简单的GPIO输出示例,使用Python编程语言:

import RPi.GPIO as GPIO
import time

# 设置GPIO模式为BCM
GPIO.setmode(GPIO.BCM)

# 设置GPIO 17为输出模式
GPIO.setup(17, GPIO.OUT)

# 输出高电平
GPIO.output(17, GPIO.HIGH)

# 保持1秒
time.sleep(1)

# 输出低电平
GPIO.output(17, GPIO.LOW)

# 清理GPIO
GPIO.cleanup()

使用GPIO读取传感器数据

以下是一个简单的GPIO输入示例,使用Python编程语言读取按钮的状态:

import RPi.GPIO as GPIO
import time

# 设置GPIO模式为BCM
GPIO.setmode(GPIO.BCM)

# 设置GPIO 27为输入模式
GPIO.setup(27, GPIO.IN)

# 循环读取按钮状态
while True:
    if GPIO.input(27) == GPIO.HIGH:
        print("按钮被按下")
    time.sleep(0.1)

# 清理GPIO
GPIO.cleanup()

树莓派4 GPIO实战应用

控制LED灯

通过GPIO输出,你可以控制LED灯的开关。以下是一个简单的示例,使用GPIO控制LED灯的闪烁:

import RPi.GPIO as GPIO
import time

# 设置GPIO模式为BCM
GPIO.setmode(GPIO.BCM)

# 设置GPIO 17为输出模式
GPIO.setup(17, GPIO.OUT)

# 循环控制LED灯闪烁
while True:
    GPIO.output(17, GPIO.HIGH)  # 打开LED灯
    time.sleep(0.5)
    GPIO.output(17, GPIO.LOW)   # 关闭LED灯
    time.sleep(0.5)

# 清理GPIO
GPIO.cleanup()

控制电机

通过GPIO输出,你可以控制电机的速度和方向。以下是一个简单的示例,使用GPIO控制直流电机的转动:

import RPi.GPIO as GPIO
import time

# 设置GPIO模式为BCM
GPIO.setmode(GPIO.BCM)

# 设置GPIO 17和27为输出模式
GPIO.setup(17, GPIO.OUT)
GPIO.setup(27, GPIO.OUT)

# 循环控制电机转动
while True:
    GPIO.output(17, GPIO.HIGH)  # 控制电机转动方向
    GPIO.output(27, GPIO.LOW)
    time.sleep(2)
    GPIO.output(17, GPIO.LOW)
    GPIO.output(27, GPIO.HIGH)
    time.sleep(2)

# 清理GPIO
GPIO.cleanup()

总结

通过本文的介绍,相信你已经对树莓派4 GPIO有了基本的了解。从基础操作到实战应用,你只需要掌握一些基本的Python编程知识和GPIO操作技巧。只要你愿意动手实践,小白也能轻松掌握树莓派4 GPIO。祝你学习愉快!

分享到: