我是专为树莓派设计的传感器扩展板,板载了陀螺仪、加速度计、磁力计、气压计和温湿度传感器等,I2C接口通信,支持外接更多传感器。 如果你想把树莓派DIY成可以检测运动姿态、方位的机器人,或者想让树莓派采集周围环境的温湿度、大气压强等传感器数据,那就带上我吧。
产品参数 | |
工作电压: | 3.3V |
通信接口: | I2C |
逻辑电压: | 3.3V |
产品尺寸: | 65 x 30.5(mm) |
加速度计特性: | 分辨率:16位 |
量程(可选):±2、±4、±8、±16g | |
陀螺仪计特性: | 分辨率:16位 |
量程(可选):±250、±500、 ±1000、±2000°/sec | |
磁力计特性: | 分辨率:16位 |
量程:±4900µT | |
气压计特性: | 分辨率:24位压力数据,16位温度数据; |
测量精度(常温下): ±0.025hPa | |
测量范围:260 ~ 1260 hPa | |
测量速率:1 Hz - 75 Hz | |
温湿度传感器特性: | 测量精度(湿度):±2% rH |
测量范围(湿度):0% ~ 100% rH | |
测量精度(温度):±0.2°C | |
测量范围(湿度):-30 ~ 100°C | |
颜色识别传感器 | 分辨率:4通道RGBC,每个通道16位 |
AD转换芯片 | 分辨率:12位 |
PK项 | Sense HAT (B) | 树莓派Sense HAT | 备注 |
陀螺仪 | 测量范围:±250/500/1000/2000 dps 分辨率:16位 | 测量范围:±245/500/2000 dps 分辨率:16位 | B型角速度可选量程更多 |
加速度计 | 测量范围:±2/4/8/16 g 分辨率:16位 | 测试范围:±2/4/8/16 g 分辨率:16位 | |
磁力计 | 测量范围:±49 gauss 分辨率:16位 | 测量范围:±4/8/12/16 gauss 分辨率:16位 | B型磁力测量范围更广 |
气压计 | 测量范围:260 ~ 1260 hPa 测量精度(常温下): ±0.025hPa 测量速率:1 Hz - 75 Hz | 测量范围:260 ~ 1260 hPa 测量精度(常温下):±0.1 hPa 测量速率:1 Hz - 25 Hz | B型大气压测量的精度更高,速率更快 |
温湿度传感器 | 测量精度(湿度):±2% rH 测量范围(湿度):0% ~ 100% rH 测量精度(温度):±0.2°C 测量范围(温度):-30 ~ 100°C | 测量精度:±4.5% rH 测量范围:20% ~ 80% rH 测量精度(温度):±0.5°C 测量范围(温度):15 ~ 40°C | B型温湿度测量的精度更高,范围更广 |
其他 | 颜色识别传感器 高精度12位AD转换芯片 | 8×8 RGB LED矩阵 五向摇杆 | B型板载颜色传感器,支持AD接入更多传感器 |
ADS1015: | AD转换例程 (STM32 , BCM2835,WringPi 和Python四种例程) | 设备地址:0x48 |
ICM-20948: | 9轴传感器例程(STM32 , BCM2835,WringPi 和Python四种例程) | 设备地址:0x68 |
LPS22HB: | 气压传感器例程(STM32 , BCM2835,WringPi 和Python四种例程 ) | 设备地址:0x5C |
SHTC3: | 温湿度传感器例程(STM32 , BCM2835,WringPi 和Python四种例程 ) | 设备地址:0x70 |
TCS34725: | 颜色识别传感器例程(STM32 , BCM2835,WringPi 和Python四种例程 ) | 设备地址:0x29 |
注:该模块的所有传感器的I2C地址均不同,用户可同时使用板载的所有传感器。
- sudo cp -r /boot/RaspberryPi/ ./
- sudo chmod 777 -R RaspberryPi/
需要安装必要的函数库(wiringPi、bcm2835、python库),否则以下的示例程序可能无法正常工作。安装方法详见:
http://www.airspayce.com/mikem/bcm2835/
进入BCM2835的官网下载并把安装包复制到树莓派上,运行如下:
- sudo tar zxvf bcm2835-1.xx.tar.gz
- cd bcm2835-1.xx
- sudo ./configure
- make
- sudo make check
- sudo make install
其中xx代表的是下载的版本号,例如我下载的文件是bcm2835-1.52,那么就应该执行:sudo tar zxvf bcm2835-1.52.tar.gz
- sudo apt-get install git
- sudo git clone git://git.drogon.net/wiringPi
- cd wiringPi
- sudo ./build
- sudo apt-get install python-pip
- sudo pip install RPi.GPIO
- sudo pip install spidev
- sudo apt-get install python-imaging
- sudo apt-get install python-smbus
- sudo raspi-config
Sense HAT (B) | Raspberry Pi (Board) | Raspberry Pi (BCM) |
VCC | 3.3V | 3.3V |
GND | GND | GND |
SDA | 3 | P2 |
SCL | 5 | P3 |
进入Linux终端,在终端执行以下命令。 编译程序:
- pi@raspberrypi ~/Sense HAT (B)/ICM-20948/Raspberry Pi/bcm2835 $ sudo make
执行程序:
- pi@raspberrypi ~/Sense HAT (B)/ICM-20948/Raspberry Pi/bcm2835 $ sudo ./ICM20948_D
进入Linux终端,在终端执行以下命令。
编译程序:
- pi@raspberrypi ~/Sense HAT (B)/ICM-20948/Raspberry Pi/wiringPi $ sudo make
执行程序:
- pi@raspberrypi ~/Sense HAT (B)/ICM-20948/Raspberry Pi/wiringPi $ sudo ./ICM20948_D
按下Ctrl+C结束程序。
在终端输入以下命令执行程序:
- pi@raspberrypi ~/ Sense HAT (B)/ICM-20948/Raspberry Pi/python $ sudo python ICM20948.py
按下Ctrl+C结束程序。
该例程基于XNUCLEO-F103RB 开发板,通过串口2输出数据。 连线如下:
Sense HAT (B) | STM32 |
VCC | +5V/+3.3V |
GND | GND |
SDA | PB9 |
SCL | PB8 |
注意:气压传感器的温度检测只作为补偿作用,如需准确的温度检测,请观察SHTC3温湿度传感器的数值为准。
进入Linux终端,在终端执行以下命令。
编译程序:
- pi@raspberrypi ~/Sense HAT (B)/LPS22HB/Raspberry Pi/bcm2835 $ sudo make
执行程序:
- pi@raspberrypi ~/Sense HAT (B)/LPS22HB/Raspberry Pi/bcm2835 $ sudo ./ LPS22HB
进入Linux终端,在终端执行以下命令。 编译程序:
- pi@raspberrypi ~/Sense HAT (B)/LPS22HB/Raspberry Pi/wiringPi $ sudo make
执行程序:
- pi@raspberrypi ~/Sense HAT (B)/LPS22HB/Raspberry Pi/wiringPi $ sudo ./ LPS22HB
在终端输入以下命令执行程序:
- pi@raspberrypi ~/ Sense HAT (B)/LPS22HB/Raspberry Pi/python $ sudo python LPS22HB.py
该例程基于XNUCLEO-F103RB 开发板,通过串口2输出数据。
连线如下:
Sense HAT (B) | STM32 |
VCC(注意:跳线帽要跳到相应位置) | +5V/+3.3V |
GND | GND |
SDA | PB9 |
SCL | PB8 |
注意:树莓派自身发热会影响实际测量温度,板子有引出I2C接口,如需准确的环境温度,可将树莓派跟模块隔一段距离再通过线材来连接来检测。
进入Linux终端,在终端执行以下命令。
编译程序:
- pi@raspberrypi ~/Sense HAT (B)/SHTC3/Raspberry Pi/bcm2835 $ sudo make
执行程序:
- pi@raspberrypi ~/Sense HAT (B)/SHTC3/Raspberry Pi/bcm2835 $ sudo ./SHTC3
进入Linux终端,在终端执行以下命令。
编译程序:
- pi@raspberrypi ~/Sense HAT (B)/SHTC3/Raspberry Pi/wiringPi $ sudo make
执行程序:
- pi@raspberrypi ~/Sense HAT (B)/SHTC3/Raspberry Pi/wiringPi $ sudo ./SHTC3
按下Ctrl+C结束程序。
该例程基于XNUCLEO-F103RB 开发板,通过串口2输出数据。
连线如下:
Sense HAT (B) | STM32 |
VCC(注意:跳线帽要跳到相应位置) | +5V/+3.3V |
GND | GND |
SDA | PB9 |
SCL | PB8 |
编译并下载程序:
预期结果:
传感器正常无错误,LED2亮起:
当空气湿度低于80%时LED3不亮。当空气湿度大于或等于80%时LED3亮起。
进入Linux终端,在终端执行以下命令。
编译程序:
- pi@raspberrypi ~/Sense HAT (B)/TCS34725/Raspberry Pi/bcm2835 $ sudo make
执行程序:
- pi@raspberrypi ~/Sense HAT (B)/TCS34725/Raspberry Pi/bcm2835 $ sudo ./main
进入Linux终端,在终端执行以下命令。
编译程序:
- pi@raspberrypi ~/Sense HAT (B)/TCS34725/Raspberry Pi/wiringPi $ sudo make
执行程序:
- pi@raspberrypi ~/Sense HAT (B)/TCS34725/Raspberry Pi/wiringPi $ sudo ./main
在终端输入以下命令执行程序:
- pi@raspberrypi ~/ Sense HAT (B)/TCS34725/Raspberry Pi/python $ sudo python TCS34725.py
该例程基于XNUCLEO-F103RB 开发板,通过串口2输出数据。
连线如下:
Sense HAT (B) | STM32 |
VCC(注意:跳线帽要跳到相应位置) | +5V/+3.3V |
GND | GND |
SDA | PB9 |
SCL | PB8 |
编译并下载程序:
打开串口助手,设置波特率为115200
预期结果:
这数据怎么转换成颜色呢?下面介绍一个工具,复制到浏览器打开即可
也可以下载
进入Linux终端,在终端执行以下命令。 编译程序:
- pi@raspberrypi ~/Sense HAT (B)/ADS1015/Raspberry Pi/bcm2835 $ sudo make
执行程序:
- pi@raspberrypi ~/Sense HAT (B)/ADS1015/Raspberry Pi/bcm2835 $ sudo ./AD
按下Ctrl+C结束程序。
进入Linux终端,在终端执行以下命令。
编译程序:
- pi@raspberrypi ~/Sense HAT (B)/ADS1015/Raspberry Pi/wiringPi $ sudo make
执行程序:
- pi@raspberrypi ~/Sense HAT (B)/ADS1015/Raspberry Pi/wiringPi $ sudo ./AD
该例程基于XNUCLEO-F103RB 开发板,通过串口2输出数据。
连线如下:
Sense HAT (B) | STM32 |
VCC(注意:跳线帽要跳到相应位置) | +5V/+3.3V |
GND | GND |
SDA | PB9 |
SCL | PB8 |
编译并下载程序:
打开串口助手,设置波特率为115200
预期结果: