要进行基础外设测试了,我们必然要了解一下引脚定义。这也是树莓派比较吸引人的地方,就是是计算机的大脑,还兼顾了基础外设的身子,把一些常用的外设引脚进行了引出,这个时候要是有树莓派5开发板的原理图是最好的,可以官网并没有提供:
只有一些结构文件,不过树莓派配备的是40-pin GPIO header,这个倒是有介绍:
其他重要资料也可以在官网查找: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:
官网地址: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)
运行后效果如下:
咱们在显示个“?”:
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)
效果如下:
获取个温湿度传感器数据:
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)
结果如下:
在看一个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))
效果如下: