Skip to content

Sense HAT

安装

为了正常工作,Sense HAT需要使用最新的内核,启用 I2C 和一些库才能开始。

1.确保您的 APT 软件包列表是最新的:

``
sudo apt update
```

1.接下来,安装 Sense -hat软件包,以确保内核是最新的,启用 I2C ,并安装必要的库和程序:

``
sudo apt安装 Sense -hat
```

1.最后,如果在安装之前禁用了 I2C 或内核不是最新的,则可能需要重新启动:

``
 sudo 重启
```

硬件

原理图可以在here中找到。

软件概述

安装后,示例代码可在/usr/src/sense-hat/examples下找到。

可以通过运行 cp /usr/src/sense-hat/examples〜/-a将它们复制到用户的主目录。

可以通过在适当的目录中运行make来编译 C /C ++示例。

RTIMULibDrive11示例已预先编译,可帮助确保一切正常。可以通过运行 RTIMULibDrive11 来启动它,并通过按 Ctrl + c来关闭它。

Python感应帽

" sense-hat"是 Sense HAT的官方支持库;它提供了对所有板载传感器和 LED 矩阵的访问。

完整的文档可以在pythonhosted.org/sense-hat中找到。

RTIMULib

RTIMULib是一个 C ++和 Python 库,可轻松在嵌入式 Linux 系统中使用 9 -dof和 10 -dof IMU。在/etc/RTIMULib.ini中提供了一个预先校准的设置文件,该文件也被sense-hat复制和使用。包含的示例在当前工作目录中查找" RTIMULib.ini",因此您可能希望将文件复制到那里以获得更准确的数据。

其他

LED矩阵

LED矩阵是 ID 为" RPi-Sense FB"的 RGB565 framebuffer。适当的设备节点可以作为标准文件写入或映射。包含的" snake"示例显示了如何访问帧缓冲区。

游戏杆

操纵杆作为名为" 树莓派 Sense HAT操纵杆"的输入事件设备出现,映射到箭头键和" Enter"。任何能够处理输入的库都应支持它,或者直接通过evdev接口支持它。合适的库包括 SDL ,pygamepython-evdev。包含的"蛇"示例显示了如何直接访问操纵杆。

校准

摘自此论坛帖子

安装必要的软件并运行校准程序,如下所示:

sudo apt update sudo apt安装八度-y 光盘 cp/usr/share/librtimulib-utils/RTEllipsoidFit ./-a cd RTEllipsoidFit RTIMULibCal

然后,您将看到以下菜单:

选项有:

  m-最小/最大校准磁力计
  e-椭球校准磁力计(先进行最小/最大)
  a-校准加速度计
  x-退出

输入选项:

按小写的" m"。然后将显示以下消息;按任意键开始。

`` 磁力计最小/最大校准 -------------------------------- 左右摇动 IMU 芯片,确保所有六个轴 (+ x,-x,+ y,-y和+ z,-z)经历极值。 完成所有极端操作后,输入" s"进行保存,输入" r"进行重置 或" x"中止并丢弃数据。

按任意键开始...

``

启动后,您会看到类似于以下内容的滚动屏幕:

最小 x :51.60分钟 y :69.39分钟 z :65.91
最大值 x :53.15最大值 y :70.97最大值 z :67.97

关注屏幕最底部的两行,因为这是该程序最近发布的度量。 现在,您必须以各种可能的方式来移动 Astro Pi。如果拔下所有非必需的电缆以避免混乱,这将很有帮助。

尝试在俯仰,横摇和偏航轴的每个轴上获得一个完整的圆。这样做时请注意不要意外弹出 SD 卡。花几分钟时间移动 Astro Pi,然后在发现数字不再变化时停止。

现在按小写字母" s",然后按小写字母" x",退出程序。如果现在运行ls命令,将会看到一个新的RTIMULib.ini文件已创建。

除了这些步骤之外,您还可以通过执行上述步骤来进行椭圆拟合,但是按" e"而不是" m"。

完成后,将生成的RTIMULib.ini复制到/etc /,并在〜/.config/sense_hat /中删除本地副本:

rm〜/.config/sense_hat/RTIMULib.ini
 sudo  cp  RTIMULib.ini/etc

现在完成。

更新 AVR 固件

...

EEPROM数据这些步骤可能不适用于树莓派 2 Model B Rev 1.0和树莓派 3 Model B主板。固件将控制 I2C0 ,从而将 ID 引脚配置为输入。

1.通过将以下行添加到/boot/config.txt中来启用 I2C0 和 I2C1 :

```
dtparam = i2c_vc = on
dtparam = i2c_arm = on
```

1.输入以下命令以重新引导:

``
sudo systemctl重新启动
```

1.下载并构建 Flash 工具:

``
git clone https://github.com/raspberrypi/hats.git
cd帽子/eepromutils
使
```

1.可以使用以下命令读取 EEPROM 数据:

``
 sudo ./eepflash.sh -f = sense_read.eep -t = 24c32 -r
```

写作

请注意,此操作具有潜在的危险,日常用户不需要此操作。提供以下步骤仅用于调试目的。如果发生错误,则可能不再自动检测到 HAT 。

1.下载 EEPROM 设置并构建.eep二进制文件:

``
wget https://github.com/raspberrypi/rpi-sense/raw/master/eeprom/eeprom_settings.txt -O sense_eeprom.txt
./eepmake sense_eeprom.txt sense.eep /boot/overlays/rpi-sense-overlay.dtb
```

1.禁用写保护:

``
i2cset -y -f 1 0x46 0xf3 1
```

1.写入 EEPROM 数据:

``
 sudo ./eepflash.sh -f = sense.eep -t = 24c32 -w

```

1.重新启用写保护:

``
i2cset -y -f 1 0x46 0xf3 0
```