Build HAT
关于
树莓派Build HAT 是一块附加板,可连接到树莓派的 40 引脚 GPIO 接头,它是与乐高®教育合作设计的,可让您轻松地使用树莓派计算机控制乐高® Technic™ 电机和传感器。
Raspberry Pi Build HAT目前尚未获得树莓派操作系统Trixie的支持。若需使用Build HAT,请暂时安装或继续使用树莓派操作系统Bookworm。
支持设备的完整列表请参阅 设备兼容性 部分。
它为 SPIKE™ 产品组合中的 乐高® Technic™ 电机和传感器提供了四个连接器。可用的传感器包括距离传感器、颜色传感器和多功能力传感器。角度电机有各种尺寸,并集成了编码器,可通过查询找到其位置。
Build HAT 适用于所有带有 40 引脚 GPIO 接头的 Raspberry Pi 计算机,包括使用带状电缆或其他扩展设备的键盘系列设备。除了摄像头模块等标准 Raspberry Pi 配件外,连接的乐高® Technic™ 设备也可以轻松地用 Python 进行控制。
树莓派Build HAT 电源(PSU)可单独购买,设计用于为 Build HAT 和树莓派计算机以及所有连接的乐高® Technic™ 设备供电。
乐高®教育 SPIKE™ Prime 45678 套装和 SPIKE™ Prime 45681 扩展套装(可从乐高®教育经销商处单独购买)包含一系列由 Build HAT 支持的有用元素。
HAT 可与所有 40 引脚 GPIO Raspberry Pi 电路板配合使用,包括 Zero 系列设备。通过添加带状电缆或其他扩展设备,它还可以与键盘系列设备一起使用。
- 最多可控制 4 个 乐高® Technic™ 电机和 SPIKE™ 产品组合中的传感器
 - 易于使用的 Python 库,可控制您的 乐高® Technic™ 设备
 - 可安装在任何带有 40 针 GPIO 接头的树莓派计算机上
 - 板载 RP2040 微控制器管理 乐高® Technic™ 设备的底层控制
 - 可单独提供外部 8V PSU,为 Build HAT 和树莓派供电
 
Build HAT 无法为键盘系列设备供电,因为它们不支持通过 GPIO 头供电。
准备您的Build HAT
在电路板底部安装 9 毫米垫片。将树莓派Build HAT 安装到树莓派上。确保安装的方向正确。与其他 HAT 不同的是,所有组件都在底部,顶部留出了放置面包板或 乐高® 元件的空间。
访问GPIO引脚
如果要访问树莓派的 GPIO 引脚,可以添加一个可选的高针座,并使用 15 毫米垫片。
以下引脚由 Build HAT 本身使用,你不应该连接任何东西到它们。
| GPIO | 使用 | 状态 | 
|---|---|---|
| GPIO0/1 | ID 提示 | |
| GPIO4 | 复位 | |
| GPIO14 | Tx | |
| GPIO15 | Rx | |
| GPIO16 | RTS | 未使用 | 
| GPIO17 | CTS | 未使用 | 
设置树莓派
树莓派启动后,请通过选择树莓派菜单按钮,然后选择首选项 > 控制中心来打开控制中心工具。
选择接口选项卡,并按照下图所示调整串行设置:
无显示器使用树莓派
如果无显示器运行树莓派并使用 raspi-config,请从第一个菜单中选择 Interface Options(接口选项)。
然后选择 Serial Port(串行端口)。
禁用串行控制台,选择 No(否):
启用串行端口硬件,选择 Yes(是)。
最终设置应如下所示,并选择 Ok。
如果有任何更改,此时需要重新启动。
为Build HAT供电
连接外部电源--推荐使用 Raspberry Pi Build HAT 官方电源 --不过,任何能够通过 DC 5521 中心正极桶形连接器(5.5 毫米 × 2.1 毫米 × 11 毫米)提供 48W 电力的可靠 +8V±10% 电源都可以为 Build HAT 供电。除非使用键盘系列设备,否则无需为 Raspberry Pi 连接额外的 USB 电源。
Build HAT 无法为键盘系列设备供电,因为它们不支持通过 GPIO 头供电。
乐高® Technic™ 马达的功率非常大,因此需要外部 8V 电源才能驱动它们。如果要读取电机编码器和 SPIKE™ 力传感器的数据,可以通过树莓派的 USB 电源插座,以常规方式为树莓派和 Build HAT 供电。SPIKE™ 颜色和距离传感器与电机一样,需要外部电源。
您可以选择用 Python 或 .NET 来使用 Build HAT。
在Python中使用Build HAT
安装Python库
安装 Build HAT Python 库。打开终端窗口并键入
sudo apt install python3-build-hat
Bookworm 之前的树莓派操作系统版本无法使用 apt 访问该库。相反,请运行以下命令使用 pip 安装库:
sudo pip3 install buildhat
有关 Build HAT Python 库的更多信息,请参阅 ReadTheDocs。
Python使用电机
有许多电机可以与 Build HAT 配合使用。
连接电机
将电机连接到 Build HAT 的端口 A。LPF2 连接器需要以正确的方式向上插入。如果连接器不容易插入,请旋转 180 度再试一次。
使用电机
启动 Thonny IDE。添加以下程序代码:
from buildhat import Motor
motor_a = Motor('A')
motor_a.run_for_seconds(5)
点击播放/运行按钮运行程序。如果这是树莓派启动后第一次运行 Build HAT 程序,在固件复制到电路板时会有几秒钟的停顿。这时红色 LED 熄灭,绿色 LED 亮起。随后执行 Python 程序将不需要此暂停。
电机应顺时针转动 5 秒钟。
更改程序的最后一行并重新运行。
motor_a.run_for_seconds(5, speed=50)
现在电机应该转得更快了。再做一次修改:
motor_a.run_for_seconds(5, speed=-50)
电机应该以相反(逆时针)方向转动
点击 Thonny 中的加号按钮,创建一个新程序。添加以下代码:
from buildhat import Motor
motor_a = Motor('A')
while True:
    print("Position: ", motor_a.get_aposition())
运行程序。抓住电机并转动轴。您应该会看到 Thonny REPL 中打印的数字在变化。
Python使用传感器
有大量传感器可与 Build HAT 配合使用。
使用传感器
将颜色传感器连接到 Build HAT 的端口 B,将力传感器连接到端口 C。
如果你不打算驱动电机,那么就不需要外部电源,你可以使用树莓派的标准 USB 电源。
创建另一个新程序
from signal import pause
from buildhat import ForceSensor, ColorSensor
button = ForceSensor('C')
cs = ColorSensor('B')
def handle_pressed(force):
    cs.on()
    print(cs.get_color())
def handle_released(force):
    cs.off()
button.when_pressed = handle_pressed
button.when_released = handle_released
pause()
运行该程序,在颜色传感器前放置一个彩色物体(乐高®元件最合适),然后按下力传感器活塞。传感器的 LED 灯应打开,最接近的颜色名称应显示在 thonny REPL 中。
在.NET中使用Build HAT
安装.NET框架
在树莓派上无法通过 apt 安装微软的 .NET 框架。不过,您可以按照微软的官方说明安装 .NET 框架。此外,您还可以通过简化的第三方途径将 .NET 工具链安装到树莓派上。
安装脚本以 root 身份运行。您应该先阅读脚本,确保了解脚本的作用。如果您不确定,请按照官方说明手动操作。
wget -O - https://raw.githubusercontent.com/pjgpetecodes/dotnet5pi/master/install.sh | sudo bash
安装 .NET 框架后,您就可以创建项目了:
dotnet new console --name buildhat
这会在 buildhat 子目录下创建一个默认程序,我们需要进入该目录才能继续:
$ cd buildhat
现在,您需要安装以下 nuget 软件包:
dotnet add package System.Device.Gpio --version 2.1.0
dotnet add package Iot.Device.Bindings --version 2.1.0
运行C#代码
您可以使用 dotnet run 命令运行程序。现在让我们试一下,以确保一切正常。程序应打印 "Hello World!
$ dotnet run
Hello World!
(在后面的说明中,当指示您 "运行程序 "时,您只需重新运行 dotnet run 命令即可)。
编辑C#代码
在下面的说明中,你将编辑 buildhat/Program.cs 文件,即运行上述命令时生成的 C# 程序。
任何文本编辑器都可以编辑 C# 代码,包括预装的集成开发环境/文本编辑器 Geany。Visual Studio Code(通常称为 "VS Code")也是一种常用的替代方法。