【赛昉科技昉·星光RISC-V单板计算机试用体验】SHT3X温湿度计使用

描述

本文来源电子发烧友社区,作者:HonestQiao, 帖子地址:https://bbs.elecfans.com/jishu_2284703_1_1.html

昉·星光RISC-V单板计算机上提供的40Pin,接口非常丰富:
 
赛昉科技


通过查阅官方资料,可以了解40Pin的具体功能定义:
赛昉科技

赛昉科技


官方还提供了一个“使用昉·星光的IIC读取SHTC3数据.pdf”文档,用于演示如何通过I2C,来从SHTC3读取数据。

SHT3C温湿度传感器:
赛昉科技


连线:
赛昉科技

官方提供的演示程序,可以从 https://wiki.rvspace.org/technical_document/test-shtc3.c 下载。


不过我手头上,没有SHT3C,但是有SHT30,正好可以试一试。
赛昉科技


参考 test-shtc3.c ,使用如下的引脚连接到SHT30:
40Pin-1:连接SHT30 VCC
40Pin-3:连接SHT30 SDA
40Pin-5:连接SHT30 SCL
40Pin-9:连接SHT30 GND
赛昉科技


然后,查找了SHT30的相关资料,其使用和SHTC3类似。
参考资料:【STM32Cube_15】使用硬件I2C读取温湿度传感器数据(SHT30)
读取数据的基本步骤如下:
  • 通过I2C,发送指令,并从传感器读取返回数据
  • 对返回的数据,进行CRC8校验
  • 校验通过的数据,转换为可读的温湿度值


具体的代码如下,保存到sht3x.c:
赛昉科技


要在 昉·星光RISC-V单板计算机 编译C代码,需要对应的工具链:
#Fedora系统
$ sudo dnf install gcc-riscv64-linux-gnu file
#Debian/Ubuntu系统
$ sudo apt install gcc-riscv64-linux-gnu file

安装完成后,需要检查,安装是否正确:


  1. $ riscv64-linux-gnu-gcc -v
复制代码

然后,就可以编译代码,并检查编译是否正确:


  1. $ riscv64-linux-gnu-gcc -o test-sht3x test-sht3x.c
复制代码

输出中有UCB RISC-V,表示正常生成了当前risc-v环境下的运行文件。

在实际运行读取前,需要设置/dev/i2c的权限,让普通用户可以读取;如果是root用户,则不用设置


  1. sudo chmod a+rw /dev/i2c-*
复制代码

请确保ls现实的结果中,包含rw-rw-rw,否则普通用户不可使用i2c

最后,就可以运行刚才编译后的程序了:


  1. ./test-sht3x
复制代码


如果运行后显示:


faile to open the i2c bus: /dev/i2c-1.

则说明没有设置/dec/i2c权限,请按照前面的说明设置并检查权限。

运行test-sht3x后,将会循环从SHT30读取数据并显示。
可以用手捏着SHT30的黑色传感器,温度值会上升,松开后,则会下降;如果对着它哈气,则湿度值会上升,用风扇吹一吹,则会下降。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分