匿名
未登录
登录
丢石头百科
搜索
查看“Sense HAT (B)”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
Sense HAT (B)
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
<div class="tabber"> {{Product |name = Sense HAT (B) |images=[[File:Sense-HAT-B-1.jpg|360px |alt=Sense HAT (B)]] |categories= {{Category|传感器}} {{Category|树莓派}} |brand=Waveshare |features= * 树莓派传感器扩展 |interfaces= {{Category|AD接口}} {{Category|I2C接口}} }} <div class="tabbertab" title="说明"> =='''产品概述'''== 我是专为树莓派设计的传感器扩展板,板载了陀螺仪、加速度计、磁力计、气压计和温湿度传感器等,I2C接口通信,支持外接更多传感器。 如果你想把树莓派DIY成可以检测运动姿态、方位的机器人,或者想让树莓派采集周围环境的温湿度、大气压强等传感器数据,那就带上我吧。 =='''产品特点'''== *板载Raspberry Pi 40pin GPIO接口,适用于Raspberry Pi系列主板 *板载ICM20948(3轴加速度、3轴陀螺仪和3轴磁力计),可检测运动姿态、方位和磁场 *板载SHTC3数字温湿度传感器,可感知环境的温度和湿度 *板载LPS22HB大气压强传感器,可感知环境的大气压强 *板载TCS34725颜色识别传感器,可识别周围物体的颜色 *板载ADS1015芯片,4通道12位精度ADC,可扩展AD功能以便接入更多传感器 *引出I2C控制接口,方便接入STM32等主控板 *提供完善的配套资料手册(Raspberry/STM32等示例程序) =='''产品参数'''== {|border=1; style="width:900px;" |-style="background:#000088; color:white;" |colspan=2|产品参数 |- |工作电压:||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'''== {|border=1; style="width:900px;" |-style="background:#00cc88; color:white;" |PK项|| Sense HAT (B) ||树莓派Sense HAT|| 备注 |- |陀螺仪|| 测量范围:±250/500/1000/2000 dps<br />分辨率:16位|| 测量范围:±245/500/2000 dps<br />分辨率:16位||B型角速度可选量程更多 |- |加速度计 ||测量范围:±2/4/8/16 g<br />分辨率:16位<br />||测试范围:±2/4/8/16 g<br />分辨率:16位|| |- |磁力计||测量范围:±49 gauss<br />分辨率:16位||测量范围:±4/8/12/16 gauss<br />分辨率:16位||B型磁力测量范围更广 |- |气压计||测量范围:260 ~ 1260 hPa<br />测量精度(常温下): ±0.025hPa<br />测量速率:1 Hz - 75 Hz ||测量范围:260 ~ 1260 hPa<br />测量精度(常温下):±0.1 hPa <br />测量速率:1 Hz - 25 Hz|| B型大气压测量的精度更高,速率更快 |- |温湿度传感器|| 测量精度(湿度):±2% rH<br />测量范围(湿度):0% ~ 100% rH<br />测量精度(温度):±0.2°C<br />测量范围(温度):-30 ~ 100°C||测量精度:±4.5% rH<br />测量范围:20% ~ 80% rH<br />测量精度(温度):±0.5°C<br />测量范围(温度):15 ~ 40°C||B型温湿度测量的精度更高,范围更广 |- |其他||颜色识别传感器<br />高精度12位AD转换芯片||8×8 RGB LED矩阵<br />五向摇杆||B型板载颜色传感器,支持AD接入更多传感器 |} =='''使用指南'''== ===下载例程=== *在微雪电子官网上找到对应产品,在产品资料打开下载路径,在wiki中下载示例程序: [[File:Sense HAT (B)-1.png|800px]]<br /> *将下载下来的解压包解压,得到如下文件: [[File:Sense Hat-88.png|800px]]<br /> {|border=0; style="width:900px;" |- |ADS1015: ||AD转换例程 (STM32 , BCM2835,WringPi 和Python四种例程) ||设备地址:0x48<br /> |- |ICM-20948:||9轴传感器例程(STM32 , BCM2835,WringPi 和Python四种例程) ||设备地址:0x68<br /> |- |LPS22HB:||气压传感器例程(STM32 , BCM2835,WringPi 和Python四种例程 ) ||设备地址:0x5C<br /> |- |SHTC3:||温湿度传感器例程(STM32 , BCM2835,WringPi 和Python四种例程 ) ||设备地址:0x70<br /> |- |TCS34725:||颜色识别传感器例程(STM32 , BCM2835,WringPi 和Python四种例程 ) ||设备地址:0x29<br /> |} <font color="#FF0000">注:该模块的所有传感器的I2C地址均不同,用户可同时使用板载的所有传感器。</font> =='''树莓派例程使用'''== ===拷贝到树莓派=== *使用读卡器将SD卡插入电脑,将会显示一个名为Boot的可移动盘。 [[File:sense-hat-b-user-manual-cn4865.png|800px]]<br /> *将解压文件中RaspberryPi文件夹复制到boot根目录下 [[File:sense-hat-b-user-manual-cn4899.png|800px]]<br /> *然后弹出U盘,将SD卡插入树莓派中,插上USB上电,查看/boot目录的文件 [[File:sense-hat-b-user-manual-cn4940.png|800px]]<br /> *执行如下命令将其复制到用户目录下,并修改其用户权限 <pre> sudo cp -r /boot/RaspberryPi/ ./ sudo chmod 777 -R RaspberryPi/ </pre> [[File:sense-hat-b-user-manual-cn5032.png|800px]]<br /> *进入目录,查看文件: [[File:sense-hat-b-user-manual-cn5045.png|800px]]<br /> ===安装库函数=== 需要安装必要的函数库(wiringPi、bcm2835、python库),否则以下的示例程序可能无法正常工作。安装方法详见: *安装BCM2835库: http://www.airspayce.com/mikem/bcm2835/<br /> 进入BCM2835的官网下载并把安装包复制到树莓派上,运行如下:<br /> <pre> sudo tar zxvf bcm2835-1.xx.tar.gz cd bcm2835-1.xx sudo ./configure make sudo make check sudo make install </pre> '''其中xx代表的是下载的版本号,例如我下载的文件是bcm2835-1.52,那么就应该执行:sudo tar zxvf bcm2835-1.52.tar.gz ''' *安装wiringPi库: <pre> sudo apt-get install git sudo git clone git://git.drogon.net/wiringPi cd wiringPi sudo ./build </pre> *安装python库: <pre> 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 </pre> *开启I2C接口: sudo raspi-config [[File:sense-hat-b-user-manual-cn5741.png|800px]]<br /> [[File:sense-hat-b-user-manual-cn5743.png|800px]]<br /> =='''接线定义'''== {|border=2; style="width:800px;" |-style="background:#080; color:white;" align="center" |Sense HAT (B)||Raspberry Pi (Board)||Raspberry Pi (BCM) |-align="center" |VCC||3.3V||3.3V |-align="center" |GND||GND||GND |-align="center" |SDA||3||P2 |-align="center" |SCL||5||P3 |} == '''ICM20948示例程序 -9轴传感器演示''' == *bcm2835程序 进入Linux终端,在终端执行以下命令。 编译程序:<br /> pi@raspberrypi ~/Sense HAT (B)/ICM-20948/Raspberry Pi/bcm2835 $ sudo make 执行程序:<br /> pi@raspberrypi ~/Sense HAT (B)/ICM-20948/Raspberry Pi/bcm2835 $ sudo ./ICM20948_D 预期结果:<br /> [[File:sense-hat-b-user-manual-cn6155.png|800px]]<br /> 按下Ctrl+C结束程序。<br /> *wiringPi程序 进入Linux终端,在终端执行以下命令。<br /> 编译程序:<br /> 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 预期结果:<br /> [[File:sense-hat-b-user-manual-cn6373.png|800px]]<br /> 按下Ctrl+C结束程序。<br /> *python程序 在终端输入以下命令执行程序:<br /> pi@raspberrypi ~/ Sense HAT (B)/ICM-20948/Raspberry Pi/python $ sudo python ICM20948.py 预期结果:<br /> [[File:sense-hat-b-user-manual-cn6507.png|800px]]<br /> 按下Ctrl+C结束程序。<br /> *STM32程序 该例程基于XNUCLEO-F103RB 开发板,通过串口2输出数据。 连线如下:<br /> {|border=2; style="width:800px;" |-style="background:#000088; color:white;" align="center" |Sense HAT (B)||STM32 |-align="center" |VCC||+5V/+3.3V |-align="center" |GND||GND |-align="center" |SDA||PB9 |-align="center" |SCL||PB8 |} 编译并下载程序:<br /> [[File:sense-hat-b-user-manual-cn6703.png|800px]]<br /> 打开串口助手,设置波特率为115200<br /> 预期结果:<br /> [[File:sense-hat-b-user-manual-cn6732.png|800px]]<br /> =='''LPS22HBTR示例程序 -气压传感器演示'''== <font color="#FF0000">注意:气压传感器的温度检测只作为补偿作用,如需准确的温度检测,请观察SHTC3温湿度传感器的数值为准。</font> *bcm2835程序 进入Linux终端,在终端执行以下命令。<br /> 编译程序:<br /> pi@raspberrypi ~/Sense HAT (B)/LPS22HB/Raspberry Pi/bcm2835 $ sudo make 执行程序:<br /> pi@raspberrypi ~/Sense HAT (B)/LPS22HB/Raspberry Pi/bcm2835 $ sudo ./ LPS22HB 预期结果:<br /> [[File:sense-hat-b-user-manual-cn6951.png|800px]]<br /> 按下Ctrl+C结束程序。<br /> *wiringPi程序 进入Linux终端,在终端执行以下命令。 编译程序:<br /> pi@raspberrypi ~/Sense HAT (B)/LPS22HB/Raspberry Pi/wiringPi $ sudo make 执行程序:<br /> pi@raspberrypi ~/Sense HAT (B)/LPS22HB/Raspberry Pi/wiringPi $ sudo ./ LPS22HB 预期结果:<br /> [[File:sense-hat-b-user-manual-cn7165.png|800px]]<br /> 按下Ctrl+C结束程序。<br /> *python程序 在终端输入以下命令执行程序:<br /> pi@raspberrypi ~/ Sense HAT (B)/LPS22HB/Raspberry Pi/python $ sudo python LPS22HB.py 预期结果:<br /> [[File:sense-hat-b-user-manual-cn7296.png|800px]]<br /> 按下Ctrl+C结束程序。<br /> *STM32程序 该例程基于XNUCLEO-F103RB 开发板,通过串口2输出数据。<br /> 连线如下: {|border=2; style="width:800px;" |-style="background:#000088; color:white;" align="center" |Sense HAT (B)||STM32 |-align="center" |VCC(注意:跳线帽要跳到相应位置)||+5V/+3.3V |-align="center" |GND||GND |-align="center" |SDA||PB9 |-align="center" |SCL||PB8 |} 编译并下载程序:<br /> [[File:sense-hat-b-user-manual-cn7492.png|800px]]<br /> 打开串口助手,设置波特率为115200<br /> 预期结果:<br /> [[File:sense-hat-b-user-manual-cn7521.png|800px]]<br /> =='''SHTC3示例程序 -温湿度传感器演示'''== <font color="#FF0000">注意:树莓派自身发热会影响实际测量温度,板子有引出I2C接口,如需准确的环境温度,可将树莓派跟模块隔一段距离再通过线材来连接来检测。</font> *bcm2835程序 进入Linux终端,在终端执行以下命令。<br /> 编译程序:<br /> pi@raspberrypi ~/Sense HAT (B)/SHTC3/Raspberry Pi/bcm2835 $ sudo make 执行程序:<br /> pi@raspberrypi ~/Sense HAT (B)/SHTC3/Raspberry Pi/bcm2835 $ sudo ./SHTC3 预期结果:<br /> [[File:sense-hat-b-user-manual-cn7730.png|800px]]<br /> 按下Ctrl+C结束程序。<br /> *wiringPi程序 进入Linux终端,在终端执行以下命令。<br /> 编译程序:<br /> pi@raspberrypi ~/Sense HAT (B)/SHTC3/Raspberry Pi/wiringPi $ sudo make 执行程序:<br /> pi@raspberrypi ~/Sense HAT (B)/SHTC3/Raspberry Pi/wiringPi $ sudo ./SHTC3 预期结果:<br /> [[File:sense-hat-b-user-manual-cn7936.png|800px]] 按下Ctrl+C结束程序。<br /> *STM32程序 该例程基于XNUCLEO-F103RB 开发板,通过串口2输出数据。<br /> 连线如下:<br /> {|border=2; style="width:800px;" |-style="background:#000088; color:white;" align="center" |Sense HAT (B)||STM32 |-align="center" |VCC(注意:跳线帽要跳到相应位置)||+5V/+3.3V |-align="center" |GND||GND |-align="center" |SDA||PB9 |-align="center" |SCL||PB8 |} 编译并下载程序:<br /> [[File:sense-hat-b-user-manual-cn8131.png|800px]]<br /> 预期结果:<br /> 传感器正常无错误,LED2亮起:<br /> [[File:sense-hat-b-user-manual-cn8156.png|800px]]<br /> <br /> 当空气湿度低于80%时LED3不亮。当空气湿度大于或等于80%时LED3亮起。<br /> [[File:sense-hat-b-user-manual-cn8197.png|800px]]<br /> =='''TCS34725示例程序 -颜色识别传感器演示'''== *bcm2835程序<br /> 进入Linux终端,在终端执行以下命令。<br /> 编译程序:<br /> pi@raspberrypi ~/Sense HAT (B)/TCS34725/Raspberry Pi/bcm2835 $ sudo make 执行程序:<br /> pi@raspberrypi ~/Sense HAT (B)/TCS34725/Raspberry Pi/bcm2835 $ sudo ./main 预期结果:<br /> [[File:sense-hat-b-user-manual-cn8415.png|800px]]<br /> 按下Ctrl+C结束程序。<br /> *wiringPi程序 进入Linux终端,在终端执行以下命令。<br /> 编译程序:<br /> pi@raspberrypi ~/Sense HAT (B)/TCS34725/Raspberry Pi/wiringPi $ sudo make 执行程序:<br /> pi@raspberrypi ~/Sense HAT (B)/TCS34725/Raspberry Pi/wiringPi $ sudo ./main 预期结果:<br /> [[File:sense-hat-b-user-manual-cn8627.png|800px]]<br /> 按下Ctrl+C结束程序。<br /> *python程序 在终端输入以下命令执行程序:<br /> pi@raspberrypi ~/ Sense HAT (B)/TCS34725/Raspberry Pi/python $ sudo python TCS34725.py 预期结果:<br /> [[File:sense-hat-b-user-manual-cn8756.png|800px]]<br /> 按下Ctrl+C结束程序。<br /> *STM32程序 该例程基于XNUCLEO-F103RB 开发板,通过串口2输出数据。<br /> 连线如下: {|border=2; style="width:800px;" |-style="background:#000088; color:white;" align="center" |Sense HAT (B)||STM32 |-align="center" |VCC(注意:跳线帽要跳到相应位置)||+5V/+3.3V |-align="center" |GND||GND |-align="center" |SDA||PB9 |-align="center" |SCL||PB8 |} 编译并下载程序:<br /> [[File:sense-hat-b-user-manual-cn8950.png|800px]]<br /> 打开串口助手,设置波特率为115200<br /> 预期结果:<br /> [[File:sense-hat-b-user-manual-cn8979.png|800px]]<br /> 这数据怎么转换成颜色呢?下面介绍一个工具,复制到浏览器打开即可<br /> https://www.sioe.cn/yingyong/yanse-rgb-16/ 也可以下载<br /> https://{{SERVERNAME}}/w/upload/0/05/Hexacolor3.7z [[File:sense-hat-b-user-manual-cn9116.png|800px]]<br /> [[File:sense-hat-b-user-manual-cn9118.png|800px]]<br /> =='''ADS1015示例程序 -AD转换演示'''== *bcm2835程序 进入Linux终端,在终端执行以下命令。 编译程序:<br /> pi@raspberrypi ~/Sense HAT (B)/ADS1015/Raspberry Pi/bcm2835 $ sudo make 执行程序:<br /> pi@raspberrypi ~/Sense HAT (B)/ADS1015/Raspberry Pi/bcm2835 $ sudo ./AD 预期结果:<br /> [[File:sense-hat-b-user-manual-cn9329.png|800px]]<br /> 按下Ctrl+C结束程序。<br /> *wiringPi程序 进入Linux终端,在终端执行以下命令。<br /> 编译程序:<br /> pi@raspberrypi ~/Sense HAT (B)/ADS1015/Raspberry Pi/wiringPi $ sudo make 执行程序:<br /> pi@raspberrypi ~/Sense HAT (B)/ADS1015/Raspberry Pi/wiringPi $ sudo ./AD 预期结果:<br /> [[File:sense-hat-b-user-manual-cn9536.png|800px]]<br /> 按下Ctrl+C结束程序。<br /> *STM32程序 该例程基于XNUCLEO-F103RB 开发板,通过串口2输出数据。<br /> 连线如下:<br /> {|border=2; style="width:800px;" |-style="background:#000088; color:white;" align="center" |Sense HAT (B)||STM32 |-align="center" |VCC(注意:跳线帽要跳到相应位置)||+5V/+3.3V |-align="center" |GND||GND |-align="center" |SDA||PB9 |-align="center" |SCL||PB8 |} 编译并下载程序:<br /> [[File:sense-hat-b-user-manual-cn9732.png|800px]]<br /> 打开串口助手,设置波特率为115200<br /> 预期结果:<br /> [[File:sense-hat-b-user-manual-cn9761.png|800px]]<br /> </div> <div class="tabbertab" title="资料"> ==文档== <!--*[https://{{SERVERNAME}}/w/upload/b/b4/Sense-HAT-B-Manual-CN.pdf 用户手册]--> *[https://{{SERVERNAME}}/w/upload/4/43/Sense-HAT-B-Schematic.pdf 原理图] <!--*[[:File:Sense-HAT-B-Schematic.pdf|原理图]]--> ==程序== *[https://{{SERVERNAME}}/w/upload/6/6c/Sense-HAT-B-Demo.7z 示例程序] ==相关资料== *[https://{{SERVERNAME}}/w/upload/2/20/Lps22hb.pdf LPS22HBTR数据手册] *[https://{{SERVERNAME}}/w/upload/3/33/SHTC3_Datasheet.pdf SHTC3数据手册] *[https://{{SERVERNAME}}/w/upload/1/13/TCS34725.pdf TCS34725数据手册] *[https://{{SERVERNAME}}/w/upload/e/e1/Ads1015.pdf ADS1015数据手册] *[https://{{SERVERNAME}}/w/upload/5/57/ICM-20948-v1.3.pdf CM-20948数据手册] *[https://{{SERVERNAME}}/w/upload/c/cc/Lsf0204d.pdf LSF0204数据手册] </div> == FAQ == <div class="tabbertab" title="FAQ"><br /> {{FAQ| 1.树莓派例程初始化失败?(以下以TC34725颜色识别传感器为例)<br /> [[File:sense-hat-b-user-manual-cn9804.png|800px]]<br /> |对于BCM2835和wiringPi例程出现这样的提示,<br /> |[[File:sense-hat-b-user-manual-cn9834.png|800px]]<br /> Python例程 如果出现以上问题这是设备数据I2C数据传输错误。大多数是硬件连接错误,请检查硬件连接是否正确,检查硬件连接是否有问题,运行i2cdetect -y 1 如果有显示IIC地址就表示硬件连接无问题。 如果硬件连接正确那么是不正确的使用树莓派控制可能会导致(详情看下面),重启树莓派即可。<br /> |[[File:sense-hat-b-user-manual-cn9986.png|800px]]<br /> |||}} {{FAQ|不正确的使用树莓派控制可能会导致?| 如果运行wiringPi例程正常,再运行python或者BCM2835可能会屏幕无法正常刷新,因为bcm2835库是树莓派cpu芯片的库函数,底层是直接操作寄存器,而wiringPi库和python的底层都是通过读写linux系统的设备文件操作设备,可能导致GPIO口异常,重启树莓派可完美解决。|||}} {{FAQ| STM32例程串口输出没有数据或者数据输出乱码?| 答:确认波特率是否设置为115200,对于STM32例程请确认电脑正确连接开发板USART2(PA2,PA3),PA2为TXD,并且选择正确的COM端口。控制面板->硬件->设备管理器。<br /> [[File:sense-hat-b-user-manual-cn10276.png|800px]]<br /> |||}} {{FAQ|STM32例程串口输出数据全部为0或者初始化失败?如图。| 答:请确认器件连接没有问题,如果没问题请按下复位按键。<br /> [[File:sense-hat-b-user-manual-cn10335.png|800px]] [[File:sense-hat-b-user-manual-cn10336.png|800px]]<br /> |||}} </div> <div class="tabbertab" title="售后"><br />{{Eng24}}</div>
该页面使用的模板:
模板:Category
(
查看源代码
)
模板:Eng24
(
查看源代码
)
模板:FAQ
(
查看源代码
)
模板:Product
(
查看源代码
)
模板:Service00
(
查看源代码
)
模板:Tag
(
查看源代码
)
模板:Tipbox
(
查看源代码
)
返回至
Sense HAT (B)
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志