探索 Raspberry Pi Sense HAT

还没有读者喜欢这个。
Raspberry Pi Sense HAT board

Martin O'Hanlon。CC BY-SA 4.0。

在我的系列文章的第一篇中,我写了关于 Astro Pi 竞赛,这是一个让英国学生有机会让他们的编码实验在太空运行的机会。我们越来越接近 12 月 15 日的发射日期,届时英国欧洲航天局 (ESA) 宇航员蒂姆·皮克将开始他为期六个月的“原理号”任务。他将进行科学实验,并参与青年人的教育推广活动。作为其中的一部分,他将携带两台树莓派计算机,装在特制的飞行箱中,每台都连接着摄像头模块和传感器板。这些电脑将运行 Astro Pi 竞赛获奖者编写的 Python 程序。

由 ESA 提供。经许可使用。

飞行箱

树莓派必须使用博根臂安装在空间站上,就像用于对接机组人员笔记本电脑的那些臂一样。它们还必须被认证为对 联盟号火箭完全安全,该火箭将把它送往国际空间站,然后在太空继续使用。树莓派团队一直与 ESA 和英国航天局密切合作,以获得飞行安全证书。

由树莓派基金会提供。CC BY-SA 4.0

由树莓派基金会提供。CC BY-SA 4.0

除了大量的测试外,我们的工作还包括建造一个定制的航空级铝制外壳,其设计考虑了热力学因素(对流在太空中不会发生)和实用性,以及使电路板的传感器能够在空气中有效工作。由于外壳制造成本高昂,因此不会对外出售,但我们计划发布原型机的 3D 打印文件,以便人们可以自己制作。甚至有一所学校用乐高积木制作了一个模型。

硬件

飞行箱每个都将包含一个树莓派、一个 Sense HAT、一个实时时钟和一个摄像头模块。Sense HAT 是树莓派的一个附加板,由基金会的工程团队专门为 Astro Pi 任务创建。它包含一个 8x8 全彩 LED 显示屏;一个迷你操纵杆;一组用于温度、湿度和压力的传感器;一个加速度计;一个陀螺仪;和一个磁力计。

Sense HAT 现在可以购买了,它注定将在地球上的许多惊人的项目和实验中使用。您可以从英国的 Raspberry Pi Swag Store、美国的 Adafruit 或世界各地的任何其他树莓派配件零售商处购买。

Sense HAT 软件

树莓派基金会提供了一个 Sense HAT 的 Python 编程接口,该接口与 基于 Debian Jessie 的最新 Raspbian 镜像捆绑在一起。该接口提供了对 LED 显示屏和传感器的轻松访问,使用户能够围绕硬件构建自己的应用程序和项目。只需几行代码,您就可以在显示屏上显示当前的温度传感器值

from sense_hat import SenseHat


sense = SenseHat()


temperature = sense.temperature
sense.show_message("Temperature is %d" % temperature)

一个类似的例子是获取湿度值,并通过用绿色像素填充 LED 网格来显示湿度百分比的可视化效果

green = (0, 255, 0)
white = (255, 255, 255)

while True

 humidity = sense.humidity 
humidity_value = 64 * humidity / 100
print(humidity)

pixels = [green if i < humidity_value else white for i in range(64)]

sense.set_pixels(pixels)

当您对着电路板呼吸时,您会看到绿色像素的数量增加,然后慢慢下降。当您将电路板放入密封的保鲜袋中并用吸管向其中吹气时,这会变得更加有趣。通过一些喘气和吹气,您应该能够使其达到 100%!

在 64 个长度的列表中构建您自己的颜色元组图像,并将其直接传递给 Sense HAT 以显示图像

X = (255, 0, 0)
O = (255, 255, 255)

question_mark = [

 O, O, O, X, X, O, O, O,
O, O, X, O, O, X, O, O,
O, O, O, O, O, X, O, O,
O, O, O, O, X, O, O, O,
O, O, O, X, O, O, O, O,
O, O, O, X, O, O, O, O,
O, O, O, O, O, O, O, O,
O, O, O, X, O, O, O, O
]

sense.set_pixels(question_mark)

您可以提供此类图像的列表以进行动画处理

animation = [image_1, image_2, image_3, image_4]

while True

 for image in animation:
sense.set_pixels(image)
sleep(0.5)

...就像这段在 Sense HAT 上显示的一组复古游戏角色的视频一样

您甚至可以将 8x8 像素的图像文件加载到库中

sense.load_image("space_invader.png")

使用 PyGame 捕获操纵杆事件,这些事件映射到键盘按键

if event.key == pygame.K_DOWN

 sense.set_pixels(down_image)

elif event.key == pygame.K_UP

 sense.set_pixels(up_image)

elif event.key == pygame.K_LEFT

 sense.set_pixels(left_image)

elif event.key == pygame.K_RIGHT

 sense.set_pixels(right_image)

elif event.key == pygame.K_RETURN

 sense.set_pixels(enter_image)

让您的 Sense HAT 显示笑话

jokes = [

 "What happens to a frog's car when it breaks down? It gets toad away",
"Why was six scared of seven? Because seven eight nine",

]

joke = random.choice(jokes)
sense.show_message(joke)

或者,如果您有兴趣,可以从 pyjokes 获取极客笑话

joke = pyjokes.get_joke()

sense.show_message(joke)

使用加速度计制作一个魔术 8 球

replies = [

 "Signs point to yes",
"Without a doubt",
"Don't count on it",
"It is decidedly so",

]

while True

 x, y, z = sense.accelerometer.values()

if x > 2 or y > 2 or z > 2:
reply = random.choice(replies)
sense.show_message()

else:
sense.clear()

了解 Minecraft API 以及如何使用它将 Sense HAT 显示屏变成 您的 Minecraft 世界地图

由树莓派基金会提供。CC BY-SA 4.0

尝试这些示例以及更多

树莓派
专栏

本文是 Ben Nuttall 的 树莓派专栏的一部分,他在其中分享来自微型计算世界的新闻和故事。

User profile image.
Ben 是 BBC News Labs 的软件工程师,曾任树莓派社区经理。他热衷于 Linux、Python 和所有开源事物!在 Twitter 上关注 Ben @ben_nuttall。

5 条评论

RPI 正在使物联网不断发展壮大。而孩子们是为这些 RPI 模块编写代码的人,这让我感到惊讶。很高兴看到他们还能想出什么。

有趣,但 RaspberryPi 不是开源的

树莓派的硬件不是开源的。我们是一家教育慈善机构,我们从树莓派销售许可中获得的资金用于我们的教育项目(教师培训)。您目前正在使用开源硬件 PC 吗?我对此表示怀疑。

但是,我们的操作系统发行版当然是开源的,而且我们创建的几乎所有硬件和固件——包括 Sense HAT 的 Python 库。

请参阅

https://github.com/rpi-distro
https://github.com/raspberrypi
https://github.com/raspberrypilearning

回复 作者 amel (未验证)

听起来像一个很棒的项目,也是一次很棒的学习经历!

空间箱上的其他 6 个按钮是如何连接的?使用 HAT 底部的裸露焊盘吗?

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可获得许可。
© . All rights reserved.