Sense HAT (B)

来自Waveshare Wiki
Waveshare-admin讨论 | 贡献2020年9月5日 (六) 13:58的版本
跳转至: 导航搜索
Sense HAT (B)
{{{name2}}}
{{{name3}}}
功能简介
特性 树莓派传感器扩展
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口 I2C AD

产品概述

我是专为树莓派设计的传感器扩展板,板载了陀螺仪、加速度计、磁力计、气压计和温湿度传感器等,I2C接口通信,支持外接更多传感器。 如果你想把树莓派DIY成可以检测运动姿态、方位的机器人,或者想让树莓派采集周围环境的温湿度、大气压强等传感器数据,那就带上我吧。 

产品特点

  • 板载Raspberry Pi 40pin GPIO接口,适用于Raspberry Pi系列主板
  • 板载ICM20948(3轴加速度、3轴陀螺仪和3轴磁力计),可检测运动姿态、方位和磁场
  • 板载SHTC3数字温湿度传感器,可感知环境的温度和湿度
  • 板载LPS22HB大气压强传感器,可感知环境的大气压强
  • 板载TCS34725颜色识别传感器,可识别周围物体的颜色
  • 板载ADS1015芯片,4通道12位精度ADC,可扩展AD功能以便接入更多传感器
  • 引出I2C控制接口,方便接入STM32等主控板
  • 提供完善的配套资料手册(Raspberry/STM32等示例程序)

产品参数

产品参数
工作电压: 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

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接入更多传感器

使用指南

下载例程

  • 方法1
  • 在微雪电子官网上找到对应产品,在产品资料打开下载路径,在wiki中下载示例程序:

Sense HAT (B)-1.png

  • 将下载下来的解压包解压,得到如下文件:

Sense Hat-88.png

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地址均不同,用户可同时使用板载的所有传感器。

  • 方法2
sudo apt-get install p7zip-full
get http://www.waveshare.net/w/upload/6/6c/Sense-HAT-B-Demo.7z
7z x Sense-HAT-B-Demo.7z -O./Sense-HAT-B-Demo
cd Sense-HAT-B-Demo

树莓派例程使用

拷贝到树莓派

  • 使用读卡器将SD卡插入电脑,将会显示一个名为Boot的可移动盘。

Sense-hat-b-user-manual-cn4865.png

  • 将解压文件中RaspberryPi文件夹复制到boot根目录下

Sense-hat-b-user-manual-cn4899.png

  • 然后弹出U盘,将SD卡插入树莓派中,插上USB上电,查看/boot目录的文件

Sense-hat-b-user-manual-cn4940.png

  • 执行如下命令将其复制到用户目录下,并修改其用户权限
sudo cp -r /boot/RaspberryPi/ ./
sudo chmod 777 -R RaspberryPi/

Sense-hat-b-user-manual-cn5032.png

  • 进入目录,查看文件:

Sense-hat-b-user-manual-cn5045.png

安装库函数

需要安装必要的函数库(wiringPi、bcm2835、python库),否则以下的示例程序可能无法正常工作。安装方法详见:

  • 安装BCM2835库:

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

  • 安装wiringPi库:
sudo apt-get install git
sudo git clone git://git.drogon.net/wiringPi
cd wiringPi
sudo ./build
  • 安装python库:
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
  • 开启I2C接口:
sudo raspi-config

Sense-hat-b-user-manual-cn5741.png
Sense-hat-b-user-manual-cn5743.png

接线定义

Sense HAT (B) Raspberry Pi (Board) Raspberry Pi (BCM)
VCC 3.3V 3.3V
GND GND GND
SDA 3 P2
SCL 5 P3

ICM20948示例程序 -9轴传感器演示

  • bcm2835程序

进入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

预期结果:
Sense-hat-b-user-manual-cn6155.png
按下Ctrl+C结束程序。

  • wiringPi程序

进入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

预期结果:
Sense-hat-b-user-manual-cn6373.png

按下Ctrl+C结束程序。

  • python程序

在终端输入以下命令执行程序:

pi@raspberrypi ~/ Sense HAT (B)/ICM-20948/Raspberry Pi/python $ sudo python ICM20948.py

预期结果:
Sense-hat-b-user-manual-cn6507.png

按下Ctrl+C结束程序。

  • STM32程序

该例程基于XNUCLEO-F103RB 开发板,通过串口2输出数据。 连线如下:

Sense HAT (B) STM32
VCC +5V/+3.3V
GND GND
SDA PB9
SCL PB8

编译并下载程序:
Sense-hat-b-user-manual-cn6703.png

打开串口助手,设置波特率为115200
预期结果:
Sense-hat-b-user-manual-cn6732.png

LPS22HBTR示例程序 -气压传感器演示

注意:气压传感器的温度检测只作为补偿作用,如需准确的温度检测,请观察SHTC3温湿度传感器的数值为准。

  • bcm2835程序

进入Linux终端,在终端执行以下命令。
编译程序:

pi@raspberrypi ~/Sense HAT (B)/LPS22HB/Raspberry Pi/bcm2835 $ sudo make

执行程序:

pi@raspberrypi ~/Sense HAT (B)/LPS22HB/Raspberry Pi/bcm2835 $ sudo ./ LPS22HB

预期结果:
Sense-hat-b-user-manual-cn6951.png
按下Ctrl+C结束程序。

  • wiringPi程序

进入Linux终端,在终端执行以下命令。 编译程序:

pi@raspberrypi ~/Sense HAT (B)/LPS22HB/Raspberry Pi/wiringPi $ sudo make

执行程序:

pi@raspberrypi ~/Sense HAT (B)/LPS22HB/Raspberry Pi/wiringPi $ sudo ./ LPS22HB

预期结果:
Sense-hat-b-user-manual-cn7165.png
按下Ctrl+C结束程序。

  • python程序

在终端输入以下命令执行程序:

pi@raspberrypi ~/ Sense HAT (B)/LPS22HB/Raspberry Pi/python $ sudo python LPS22HB.py

预期结果:
Sense-hat-b-user-manual-cn7296.png
按下Ctrl+C结束程序。

  • STM32程序

该例程基于XNUCLEO-F103RB 开发板,通过串口2输出数据。
连线如下:

Sense HAT (B) STM32
VCC(注意:跳线帽要跳到相应位置) +5V/+3.3V
GND GND
SDA PB9
SCL PB8

编译并下载程序:
Sense-hat-b-user-manual-cn7492.png

打开串口助手,设置波特率为115200
预期结果:
Sense-hat-b-user-manual-cn7521.png

SHTC3示例程序 -温湿度传感器演示

注意:树莓派自身发热会影响实际测量温度,板子有引出I2C接口,如需准确的环境温度,可将树莓派跟模块隔一段距离再通过线材来连接来检测。

  • bcm2835程序

进入Linux终端,在终端执行以下命令。

编译程序:

pi@raspberrypi ~/Sense HAT (B)/SHTC3/Raspberry Pi/bcm2835 $ sudo make

执行程序:

pi@raspberrypi ~/Sense HAT (B)/SHTC3/Raspberry Pi/bcm2835 $ sudo ./SHTC3

预期结果:
Sense-hat-b-user-manual-cn7730.png
按下Ctrl+C结束程序。

  • wiringPi程序

进入Linux终端,在终端执行以下命令。
编译程序:

pi@raspberrypi ~/Sense HAT (B)/SHTC3/Raspberry Pi/wiringPi $ sudo make

执行程序:

pi@raspberrypi ~/Sense HAT (B)/SHTC3/Raspberry Pi/wiringPi $ sudo ./SHTC3

预期结果:
Sense-hat-b-user-manual-cn7936.png


按下Ctrl+C结束程序。

  • STM32程序

该例程基于XNUCLEO-F103RB 开发板,通过串口2输出数据。
连线如下:

Sense HAT (B) STM32
VCC(注意:跳线帽要跳到相应位置) +5V/+3.3V
GND GND
SDA PB9
SCL PB8

编译并下载程序:
Sense-hat-b-user-manual-cn8131.png
预期结果:
传感器正常无错误,LED2亮起:
Sense-hat-b-user-manual-cn8156.png

当空气湿度低于80%时LED3不亮。当空气湿度大于或等于80%时LED3亮起。
Sense-hat-b-user-manual-cn8197.png

TCS34725示例程序 -颜色识别传感器演示

  • bcm2835程序

进入Linux终端,在终端执行以下命令。
编译程序:

pi@raspberrypi ~/Sense HAT (B)/TCS34725/Raspberry Pi/bcm2835 $ sudo make

执行程序:

pi@raspberrypi ~/Sense HAT (B)/TCS34725/Raspberry Pi/bcm2835 $ sudo ./main

预期结果:
Sense-hat-b-user-manual-cn8415.png
按下Ctrl+C结束程序。

  • wiringPi程序

进入Linux终端,在终端执行以下命令。
编译程序:

pi@raspberrypi ~/Sense HAT (B)/TCS34725/Raspberry Pi/wiringPi $ sudo make

执行程序:

pi@raspberrypi ~/Sense HAT (B)/TCS34725/Raspberry Pi/wiringPi $ sudo ./main

预期结果:
Sense-hat-b-user-manual-cn8627.png
按下Ctrl+C结束程序。

  • python程序

在终端输入以下命令执行程序:

pi@raspberrypi ~/ Sense HAT (B)/TCS34725/Raspberry Pi/python $ sudo python TCS34725.py

预期结果:
Sense-hat-b-user-manual-cn8756.png
按下Ctrl+C结束程序。

  • STM32程序

该例程基于XNUCLEO-F103RB 开发板,通过串口2输出数据。
连线如下:

Sense HAT (B) STM32
VCC(注意:跳线帽要跳到相应位置) +5V/+3.3V
GND GND
SDA PB9
SCL PB8

编译并下载程序:
Sense-hat-b-user-manual-cn8950.png
打开串口助手,设置波特率为115200
预期结果:
Sense-hat-b-user-manual-cn8979.png
这数据怎么转换成颜色呢?下面介绍一个工具,复制到浏览器打开即可

https://www.sioe.cn/yingyong/yanse-rgb-16/

也可以下载

http://www.waveshare.net/w/upload/0/05/Hexacolor3.7z

Sense-hat-b-user-manual-cn9116.png
Sense-hat-b-user-manual-cn9118.png

ADS1015示例程序 -AD转换演示

  • bcm2835程序

进入Linux终端,在终端执行以下命令。 编译程序:

pi@raspberrypi ~/Sense HAT (B)/ADS1015/Raspberry Pi/bcm2835 $ sudo make

执行程序:

pi@raspberrypi ~/Sense HAT (B)/ADS1015/Raspberry Pi/bcm2835 $ sudo ./AD

预期结果:
Sense-hat-b-user-manual-cn9329.png

按下Ctrl+C结束程序。

  • wiringPi程序

进入Linux终端,在终端执行以下命令。
编译程序:

pi@raspberrypi ~/Sense HAT (B)/ADS1015/Raspberry Pi/wiringPi $ sudo make

执行程序:

pi@raspberrypi ~/Sense HAT (B)/ADS1015/Raspberry Pi/wiringPi $ sudo ./AD

预期结果:
Sense-hat-b-user-manual-cn9536.png
按下Ctrl+C结束程序。

  • STM32程序

该例程基于XNUCLEO-F103RB 开发板,通过串口2输出数据。
连线如下:

Sense HAT (B) STM32
VCC(注意:跳线帽要跳到相应位置) +5V/+3.3V
GND GND
SDA PB9
SCL PB8

编译并下载程序:
Sense-hat-b-user-manual-cn9732.png
打开串口助手,设置波特率为115200
预期结果:
Sense-hat-b-user-manual-cn9761.png


对于BCM2835和wiringPi例程出现这样的提示,
Sense-hat-b-user-manual-cn9834.png

Python例程 如果出现以上问题这是设备数据I2C数据传输错误。大多数是硬件连接错误,请检查硬件连接是否正确,检查硬件连接是否有问题,运行i2cdetect -y 1 如果有显示IIC地址就表示硬件连接无问题。 如果硬件连接正确那么是不正确的使用树莓派控制可能会导致(详情看下面),重启树莓派即可。

Sense-hat-b-user-manual-cn9986.png


如果运行wiringPi例程正常,再运行python或者BCM2835可能会屏幕无法正常刷新,因为bcm2835库是树莓派cpu芯片的库函数,底层是直接操作寄存器,而wiringPi库和python的底层都是通过读写linux系统的设备文件操作设备,可能导致GPIO口异常,重启树莓派可完美解决。


答:确认波特率是否设置为115200,对于STM32例程请确认电脑正确连接开发板USART2(PA2,PA3),PA2为TXD,并且选择正确的COM端口。控制面板->硬件->设备管理器。
Sense-hat-b-user-manual-cn10276.png


答:请确认器件连接没有问题,如果没问题请按下复位按键。
Sense-hat-b-user-manual-cn10335.png Sense-hat-b-user-manual-cn10336.png





联系人:林工

EMAIL:services@waveshare.net
电话:0755-83040712
QQ:3004506335
微信:扫下方二维码添加
Lxw.jpg

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证