Sense HAT
关于
Raspberry Pi Sense HAT 是一块附加板,可 为 Raspberry Pi 提供一系列传感功能。通过板载传感器,您可以监测压力、湿度、温度、颜色、方向和移动。通过 8×8 RGB LED 矩阵,您可以将传感器的数据可视化。五键操纵杆可让用户与项目互动。
Sense HAT 最初是为在国际空间站上使用而开发的,是 树莓派基金会 与 欧洲航天局 合作开展的教育 Astro Pi 计划的一部分。它可以帮助任何需要位置、运动、方向或环境传感的项目。
官方支持的 Python 库 提供了对板载传感器、LED 矩阵和操纵杆的访问。Sense HAT 兼容任何带有 40 引脚 GPIO 接头的 Raspberry Pi 设备。
特性
Sense HAT 有一个 8×8 RGB LED 矩阵和一个五键操纵杆,还包括以下传感器:
- 陀螺仪
- 加速计
- 磁力计
- 温度计
- 气压
- 湿度
- 颜色和亮度
Sense HAT 和 Sense HAT V2 的原理图和机械图纸 可从产品信息门户下载。
LED矩阵
LED 矩阵是一个 RGB565 帧缓冲器,id 为 RPi-Sense FB。相应的设备节点可作为标准文件或mmap文件写入。附带的 "snake" 示例展示了如何访问帧缓冲器。
操纵杆
操纵杆作为输入事件设备出现,名为 Raspberry Pi Sense HAT Joystick,映射到方向键和 回车键。任何能够处理输入的库都应支持它,或者直接通过 evdev 接口 支持。合适的库包括 SDL、pygame 和 python-evdev 等。附带的 snake 示例展示了如何直接访问操纵杆。
安装
为了正常工作,Sense HAT 需要
- 最新的内核
- 在 Raspberry Pi 上启用 I2C。
- 一些依赖项
完成以下步骤,让您的 Raspberry Pi 设备准备好连接到 Sense HAT:
- 首先,确保 Raspberry Pi 运行最新软件。运行以下命令更新:
sudo apt update
- 接下来,安装 sense-hat 软件包,它将确保内核是最新的,启用 I2C 并安装必要的库和程序:
sudo apt install sense-hat
- 最后,如果在安装之前禁用了 I2C 或内核不是最新的,可能需要重启:
sudo reboot
校准
安装必要的软件并运行校准程序,如下所示:
sudo apt update
sudo apt install octave -y
cd
cp /usr/share/librtimulib-utils/RTEllipsoidFit ./ -a
cd RTEllipsoidFit
RTIMULibCal
校准程序将显示以下菜单:
Options are:
m - calibrate magnetometer with min/max
e - calibrate magnetometer with ellipsoid (do min/max first)
a - calibrate accelerometers
x - exit
Enter option:
按小写 m。按任意键开始。
Magnetometer min/max calibration
--------------------------------
Waggle the IMU chip around, ensuring that all six axes
(+x, -x, +y, -y and +z, -z) go through their extrema.
When all extrema have been achieved, enter 's' to save, 'r' to reset
or 'x' to abort and discard the data.
Press any key to start...
启动后,你会看到类似下面的输出在屏幕上滚动:
Min x: 51.60 min y: 69.39 min z: 65.91
Max x: 53.15 max y: 70.97 max z: 67.97
关注屏幕最下方的两行,因为这两行是程序最近发布的测量结果。
现在,拿起树莓派和 Sense HAT,以你能想到的各种方式移动它。如果能拔掉所有非必要的电缆,就能避免杂乱无章。
尝试在俯仰、滚动和偏航轴上各绕一圈。注意在此过程中不要意外弹出 SD 卡。花几分 钟移动 Sense HAT,当发现数字不再变化时停止。
现在按小写 s,然后按小写 x 退出程序。现在运行 ls 命令,你会看到一个新的 RTIMULib.ini 文件已经创建。
除上述步骤外,您还可以按上述步骤进行椭圆拟合,但要按 e 而不是 m。
完成后,将生成的 RTIMULib.ini 文件复制到 /etc/,并删除 ~/.config/sense_hat/ 中的本地副本:
rm ~/.config/sense_hat/RTIMULib.ini
sudo cp RTIMULib.ini /etc
开始使用
安装完成后,可在 /usr/src/sense-hat/examples 下找到示例代码。
Python使用Sense HAT
sense-hat 是官方支持的 Sense HAT 库;它提供了对所有板载传感器和 LED 矩阵的访问。
有关该库的完整文档,请访问 sense-hat.readthedocs.io