这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 板卡试用 » 【RaspberryPi5测试活动】6、基础外设测试

共4条 1/1 1 跳转至

【RaspberryPi5测试活动】6、基础外设测试

高工
2025-05-31 22:11:12     打赏

        要进行基础外设测试了,我们必然要了解一下引脚定义。这也是树莓派比较吸引人的地方,就是是计算机的大脑,还兼顾了基础外设的身子,把一些常用的外设引脚进行了引出,这个时候要是有树莓派5开发板的原理图是最好的,可以官网并没有提供:

        image.png

        只有一些结构文件,不过树莓派配备的是40-pin GPIO header,这个倒是有介绍:

image.png

        其他重要资料也可以在官网查找:https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#gpio

        这个40-pin GPIO header是不是很像MCU板载引出的模式,不过想要控制这些引脚,对于树莓派来说最方便的就是基于python进行,我们需要进行python环境的安装:

sudo apt update
sudo apt upgrade

        安装 Python 和 pip:

sudo apt install python3 python3-pip

        我们进行外设的测试用的是官方的Sense HAT:

image.png

        官网地址:https://www.raspberrypi.com/documentation/accessories/sense-hat.html#about

        这里集成了LED点阵,温度传感器,湿度传感器,加速度计等多种传感器,直接对插在树莓派上即可使用。而且官方用python写好了Sense Hat的底层驱动代码,只需要调用对应API即可,比如点亮LED,显示字符,读取温度值等等;底层实际就是通过树莓派提供的GPIO功能操作对应的模块,接下来咱们就操作看一下效果。

        安装固件包:

sudo apt-get install sense-hat

        然后新建一个py文件,可以使用自带的Thonny软件,然后输入如下内容:

from sense_hat import SenseHat

sense = SenseHat()

red = (255,0,0)
green = (0,255,0)

while True:
    temp = sense.temp
    pixels = [red if i < temp else green for i in range(64)]
    sense.set_pixels(pixels)

        运行后效果如下:

image.png

        咱们在显示个“?”:

from sense_hat import SenseHat

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, X
]

sense.set_pixels(question_mark)
sense.set_rotation(180)

        效果如下:

image.png

        获取个温湿度传感器数据:

from sense_hat import SenseHat

sense = SenseHat()
humidity = sense.get_humidity()
print("Humidity: %s %%rH" % humidity)
temp = sense.get_temperature()
print("Temperature: %s C" % temp)

        结果如下:

image.png

        在看一个IMU传感器数据:

from sense_hat import SenseHat

sense = SenseHat()
sense.set_imu_config(True, True, True)  # all

orientation_rad = sense.get_orientation_radians()
print("p: {pitch}, r: {roll}, y: {yaw}".format(**orientation_rad))

orientation = sense.get_orientation_degrees()
print("p: {pitch}, r: {roll}, y: {yaw}".format(**orientation))

raw = sense.get_accelerometer_raw()
print("x: {x}, y: {y}, z: {z}".format(**raw))

        效果如下:

image.png

        还有很多传感器可以测试,比如五向按键、光传感器等等,都是基于sense-hat固件库进行了,配合这个扩展板真的是相当方便。




专家
2025-06-01 10:41:39     打赏
2楼

感谢分享


专家
2025-06-01 10:42:39     打赏
3楼

感谢分享


专家
2025-06-01 10:45:09     打赏
4楼

感谢分享


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]