Skip to content

Raspberry Pi - 扩展板

Raspberry Pi 的 GPIO(通用输入/输出)引脚使其能够连接到庞大的扩展板生态系统。这些扩展板扩展了 Pi 的功能,提供了用于传感器、显示器、电机控制、音频处理等的预制电路。许多供应商生产这些扩展板,通常会提供库和示例代码(通常使用 Python)来简化使用。

扩展板通常根据其连接和与 Pi 交互的方式分为几类:

  • Breakout Boards:简单的板,用于将特定组件(如单个传感器或驱动芯片)更容易地连接到 Pi 的 GPIO 引脚,通常通过跳线或排线连接。
  • pHATs/Bonnets:较小的板,设计用于整齐地安装在 Raspberry Pi Zero 型号顶部,通常连接到全部或部分 GPIO 引脚。
  • HATs (Hardware Attached on Top):标准 Raspberry Pi 型号(如 Pi 4 或 Pi 3)最常见的外形尺寸。这些板符合特定的物理尺寸,并直接插到整个 40 针 GPIO 排针上。官方 HAT 规格还包含一个 EEPROM 芯片,允许 Raspberry Pi OS 在启动时自动识别板并配置必要的驱动程序或软件,从而简化设置。

扩展板的种类不断增加。以下是一些代表不同功能的流行示例:

Sense HAT 最初是为国际空间站的 Astro Pi 任务设计的,现在仍然是初学者和教育者的热门选择。它集成了各种传感器和输出,非常适合环境传感和简单的数据可视化项目。

Sense HAT 的主要特性:

  • 一个 8x8 RGB LED 矩阵,用于显示图案、文本或数据。
  • 一个用于用户输入的 5 向摇杆。
  • 用于测量温度、压力、湿度的传感器。
  • 一个惯性测量单元(IMU),包括加速度计、陀螺仪和磁力计,用于检测运动、方向和磁场。
  • 一个提供良好支持的 Python 库(sense-hat),便于与所有功能交互。

实际应用:创建一个天气站,在 LED 矩阵上显示温度和湿度,或一个由摇杆和方向传感器控制的简单游戏。

示例(使用 sense-hat 库的 Python 代码):

from sense_hat import SenseHat
sense = SenseHat()
temp = sense.get_temperature() # Read temperature in Celsius
sense.show_message(f"Temp: {temp:.1f}C") # Scroll text on LED matrix

更多文档和项目可以在 Raspberry Pi Foundation 网站上找到:https://projects.raspberrypi.org/en/projects/getting-started-with-the-sense-hat

电机驱动 HATs(例如,基于 DRV8833 的)

Section titled “电机驱动 HATs(例如,基于 DRV8833 的)”

由于更高的电流需求,直接从 Pi 的 GPIO 引脚控制直流电机可能会损坏 Pi。电机驱动 HATs 提供必要的电路(如 H 桥)来安全地控制多个电机的速度和方向,这对于机器人项目至关重要。

常见特性:

  • 支持控制两个或更多直流电机。
  • 能够控制电机速度(使用 PWM)和方向。
  • 通常包括独立的电机电源输入。
  • 由供应商提供的 Python 库(例如,用于 Adafruit 或 Pimoroni 的板)或可以使用通用的 PWM 库(如 gpiozero)来控制。

实际应用:构建一个小型轮式机器人,能够前进、后退和转弯。

示例(使用 gpiozero 的概念性 Python 代码):

from gpiozero import Motor
# Assuming motor connected to GPIO pins 17, 18
# 假设电机连接到 GPIO 引脚 17, 18
motor_left = Motor(forward=17, backward=18)
# Move forward at half speed
# 以一半速度前进
motor_left.forward(speed=0.5)
# Stop the motor
# 停止电机
motor_left.stop()

虽然 Raspberry Pi 通过其 3.5 毫米插孔或 HDMI 提供了基本的音频输出,但专业的音频爱好者通常使用 DAC HATs 来获得更高保真度的声音。这些板绕过 Pi 板载的音频处理,通过 GPIO 排针上的 I2S 音频协议引脚直接连接。

常见特性:

  • 高质量音频输出芯片组。
  • 标准的音频输出接口(RCA、3.5 毫米插孔)。
  • 通常需要特定的软件配置(例如,在 Raspberry Pi OS 音频设置中选择 DAC,或使用专门的音频播放软件,如 Volumio 或 Moode Audio)。

实际应用:创建一个高保真网络音乐流媒体播放器或定制的音频播放设备。

配置通常涉及编辑 /boot/config.txt 文件,以覆盖特定 DAC HAT 的正确设备树 blob (dtoverlay),并在操作系统音频设置中选择输出设备。

对于带有以太网端口的 Raspberry Pi 型号(如 Pi 3B+、Pi 4),官方的 PoE 和 PoE+ HATs 允许 Pi 直接通过以太网线缆供电,前提是连接到支持 PoE 的交换机或注入器。这消除了在 Pi 附近需要单独电源适配器的麻烦。

主要特性:

  • 连接到兼容 Pi 型号上的 40 针排针和特定的 4 针 PoE 排针。
  • 符合 PoE 标准(PoE 为 802.3af,PoE+ 为 802.3at)。
  • 通常包括一个小风扇,用于冷却 Pi 和 HAT 的电源电路。

实际应用:在电源插座不方便但有以太网的地方部署 Raspberry Pi(例如,安防摄像头、传感器节点、信息显示屏)。