SenseHat 杂记


The Sense HAT features an 8x8 RGB LED matrix(8X8 LED矩阵), a mini joystick(mini游戏操纵杆) and the following sensors: Gyroscope - 陀螺仪 Accelerometer - 加速度计 Magnetometer - 磁力计 Temperature - 温度 Humidity - 湿度 Barometric pressure - 气压

安装

sudo apt-get update
sudo apt-get install sense-hat
sudo reboot

示例

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

LED 矩阵中的常用方法

  1. set_rotation(r:Integer)

将显示图像进行渲染,输入的值为旋转角度,例如:

sense = SenseHat()
sense.set_rotation(180) # 旋转 180 度
  1. .flip_h() & .flip_v()
  • .flip_h 水平翻转
  • .flip_v 垂直翻转
  1. .set_pixels(pixel_list)

使用一个长度为 64 的列表(8X8)整个刷新 LED 矩阵 其中每个元素,都是一个 [R,G,B] 格式的子列表,例如:

sense = SenseHat()
X = [255, 0, 0]  # Red
O = [255, 255, 255]  # White
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)
  1. .get_pixels()

获取一个长度为 64 的列表,表示当前 LED 矩阵上各点上的 [R,G,B] 值。

  1. .set_pixel(x,y,r,g,b)

设置矩阵中某个独立点的颜色呈现,x,y - 横纵坐标。例如:

sense.set_pixel(0, 0, 255, 0, 0)

类似的还有 .get_pixel()

  1. .load_image()

加载一个图片,并将其转换为 RGB 格式,然后显示在 LED 矩阵上。这个图片必须是 8*8 像素大小的。

sense.load_image("space_invader.png")
  1. .claer((r,g,b))

将整个 LED 矩阵,设置为一个颜色,默认为 blank/off.

sense = SenseHat()

red = (255, 0, 0)

sense.clear()  # no arguments defaults to off
sleep(1)
sense.clear(red)  # passing in an RGB tuple
sleep(1)
sense.clear(255, 255, 255)  # passing in r, g and b values of a colour
  1. .show_message(text_string, scroll_speed, text_colour, back_colour)

轮播一个文本,从右至左,以特定的速度&颜色,穿过 LED 矩阵。

sense.show_message("One small step for Pi!", text_colour=[255, 0, 0])
  1. .show_letter(s, text_colour, back_colour)

展现一个文本字符。

  1. .low_light()

切换 LED 为低亮度模式。

环境传感器

  1. .get_humidity()

从湿度传感器获取以摄氏度为单位的当前温度。

  1. .get_temperature()

从压力传感器获取当前温度(以摄氏度为单位)。

temp = sense.get_temperature()
print("Temperature: %s C" % temp)
  1. .get_pressure()

从压力传感器获取以毫巴为单位的当前压力。

参考文档

  1. Sense HAT Python