2

在树莓派中玩转Sense HAT

 2 years ago
source link: http://wwj718.github.io/post/iot/rpi_sense_hat/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

在树莓派中玩转Sense HAT

2017-05-14

上图来自ESA(欧洲空间局)

Sense HAT的产品介绍中,我们知道Sense HAT是Raspberry Pi的附加板,直接插到树莓派的针脚阵列上即可使用,十分方便

Sense HAT为Astro Pi而生,它在2015年登上国际空间站,有兴趣的同学可以看这里,目前这个活动吸引了很多孩子的眼球,毕竟你写的代码可能跑在空间站里呢

我上周入手了一块Sense HAT,它长这样:

我们可以看到,它有一块8x8的led阵列,值得一提的是它是RGB的,可以把它视为一个彩色像素屏。此外它还带有一个五个按钮的操纵杆,同时携带以下传感器:

  • 陀螺仪传感器
  • 加速度传感器
  • 温度传感器
  • 气压传感器
  • 湿度传感器

本着自带电池的python精神,当然也是有一个python库来方便你使用这些硬件设备的:Python module to control the Raspberry Pi Sense HAT

是不是有点激动!你再不用吭哧吭哧地逐个购买传感器,然后吭哧吭哧地去连线,还得担心引脚被占用而购买面包板,接好传感器,你又得吭哧吭哧地去网上逐个搜索驱动它们的代码,不出意外的话,许多地代码年久失修跑不起来,又或者系统地更新导致的不兼容…

现在你一次性得到这么多与物理世界沟通的设备,而需要做的不过是把这块板子插入树莓派

首先你当然需要一个可运行的树莓派,如果你是新手,可以参考我之前的文章:树莓派折腾笔记之系统安装与配置

我用的是2016-05-27的版本(最新的版本特别不稳定,我当小白鼠也是当够了)

如果你用的也是我这个版本,那么你的sense-hat不是最新的(默认是2.1.0),你最好去更新以下它(截止到2017-05-20,sense-hat最新的版本是2.2.0)

更新python-sense-hat

直接更新:sudo pip install sense-hat==2.2.0尽管也能安装成功,不过使用的时候会报错,系统依赖问题,你需要按照下边的做法:

virtualenv env --system-site-packages #这样能使用系统已有的依赖,不然会报错
source env/bin/activate
pip install sense-hat==2.2.0

连接硬件特简单,直接对着针脚插上去就行,如果你连外壳都买了,组装好应该和下边一样:

我们可以跟着起步教程来做:Getting Started with the Sense HAT,你可以现在网页上看模拟器的表现

首先当然是hello world

from sense_hat import SenseHat
sense = SenseHat()
sense.show_message("Hello world")

在树莓派中运行上边的代码,led屏幕上将滑过hello world,很像店面门口电子公告板上闪烁的: 春节快乐这种公告

不过遗憾的是,并不能显示中文

其他传感器

其他传感器的用法,在Getting Started with the Sense HAT都有范例

你也可以把A Guide to Astro Pi当成学习传感器入口

跑个游戏玩

黑客门对像素游戏的痴迷可以追溯到计算机早期,《黑客:计算机革命的英雄》一书中提到的life就是有趣的像素游戏,我原本想在这个8*8的led阵列上做一个life,后来在trinket.io已经有人做了不少有意思的游戏,于是决定先试玩它们

flappy是我喜欢的一个游戏,恰好看到有人把它移植到sense hat里,就玩了下,很有意思

我把代码放到gist上了,你可以直接从gist上拉取代码:wget https://gist.githubusercontent.com/wwj718/81ba103c1e64c66c5bec3eb94cbfb062/raw/1a0a6547b5c9e059029d09c2df98057e2b5e7816/flappy_hat.py

然后运行它:python flappy_hat.py

哈哈 玩得开心

我之前用树莓派和超声波传感器/震动传感器做了flappy(疯狂的小鸟)的体感版本

如今我们有了sense hat要做体感游戏容易多了,它有陀螺仪传感器和加速度传感器 ,而且非常灵敏

等之后闲下来慢慢玩

官方的有趣教程

树莓派官方网站有许多开脑洞的教程:


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK