SHT30温湿度传感器应用笔记

这篇具有很好参考价值的文章主要介绍了SHT30温湿度传感器应用笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

芯片介绍

        SHT30是一款温湿度传感器,使用IIC通信接口。可根据命令设置其测量频率、测量时间;测量持续时间有三种可选(见芯片手册2.2):

        HIGH:12.5ms;

        medium:4.5ms;

        low:2.5ms;

        测量频率有五种可选:0.5次/秒、1次/秒、2次/秒、4次/秒、10次/秒。

        SHT30温湿度传感器应用笔记

         如采样时间12.5ms,10次/秒的指令为:0x2737.例程如下:

static void start_measure(void)
{
    const uint8_t iic_addr = 0x44 << 1;
    const uint16_t cmd_meas_freq = 0x2737;
    uint8_t cmd[2];
    
    cmd[0] = cmd_meas_freq >> 8;
    cmd[1] = cmd_meas_freq;
    
    HAL_I2C_Master_Transmit(&hi2c1, iic_addr, cmd, 2, 100);
}

温湿度读取

        在芯片手册4.6节有讲解如何读取芯片测量数据:

SHT30温湿度传感器应用笔记

         在芯片手册4.11节有讲解读出数据CRC校验方法:

SHT30温湿度传感器应用笔记

        例程如下:

uint8_t CRC8(uint8_t * p_buf, UINT16 num)
{
    uint8_t result = 0xff;
    uint8_t const ploynomial = 0x31;
    
    for(uint8_t i = 0; i < num; i++)
    {
        result ^= p_buf[i];
        
        for(uint8_t j = 0; j < 8; j++)
        {
            if(result&0x80)
            {
                result <<= 1;
                result ^= ploynomial;
            }
            else
            {
                result <<= 1;
            }
        }
    }
    
    return result;
}

在芯片手册4.12节有讲解如何将芯片测量数据转换成我们想要的温湿度数据:

SHT30温湿度传感器应用笔记SHT30温湿度传感器应用笔记

         例程如下:文章来源地址https://www.toymoban.com/news/detail-428996.html

typedef struct
{
    float temperature;
    float humidity;
}Param;

uint8_t read_param(Param *param)
{
    uint8_t data[6];
    const uint8_t iic_addr = 0x44 << 1;
    const uint16_t cmd_fetch_data = 0xE000;
    
    uint8_t cmd[2];
    cmd[0] = cmd_fetch_data >> 8;
    cmd[1] = (uint8_t)cmd_fetch_data;
    
    HAL_I2C_Master_Transmit(&hi2c1, iic_addr, cmd, 2, 100);
    
    HAL_I2C_Master_Receive(&hi2c1, iic_addr, data, sizeof(data), 100);
    
    if((CRC8(&data[0], 2) != data[2]) || (CRC8(&data[3], 2) != data[5]))
    {
        return FALSE;
    }
    
    uint8_t tmp = (data[0] << 8) + data[1];
    param->temperature = ((float)(175*tmp)/65535) - 45;
    
    tmp = (data[3] << 8) + data[4];
    param->humidity = (float)(100*tmp)/65535;
    
    return TRUE;
}

到了这里,关于SHT30温湿度传感器应用笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA读取SHT31温湿度传感器

    SHT30 是瑞士盛世瑞恩生产出品的一个温湿度传感器,该SHT3X是一个系列,一共有SHT30/SHT31/SHT35这三个品类, SHT30——低成本版本,±3% RH精度;SHT31——标准版本,±2% RH精度;RH精度SHT35——高端版本,±1.5% RH; 一般生活内监测用SHT30即可。 SHT30性能参数如下: 温度检测范围:5-60℃

    2024年02月22日
    浏览(35)
  • 嵌入式 STM32 SHT31温湿度传感器

    目录 简介 1、原理图  2、时序说明  数据传输 起始信号  结束信号  3、SHT31读写数据  SHT31指令集 读数据  温湿度转换 4、温湿度转换应用  sht3x初始化 读取温湿度  什么是SHT31?  一主机多从机--通过寻址的方式--每个从机都有唯一的地址(器件地址0x44+引脚地址)1 + 读写位

    2024年02月01日
    浏览(66)
  • linux添加sht3x温湿度传感器驱动记录

           最近拿到一块imx6ull板子,上面有一颗温湿度传感器sht30,需要读取其数值。本人能力有限,自己写驱动还有一点困难,好在 linux内核里自带了很多器件的驱动,只需要找到相关的驱动文件根据要求修改一下设备树、添加进内核里编译就可以。         目前新版本的l

    2024年02月10日
    浏览(39)
  • STM32Cubemxhal库硬件IIC驱动SHT40温湿度传感器

    STM32cubemx配置硬件IIC如图所示  SHT40的驱动代码 注意:在读sht40的寄存器之后一定要加10几个ms的延时

    2024年02月12日
    浏览(37)
  • 新型温湿度传感器解决方案:满足多样化应用需求

    在许多环境和应用场景中,温度和湿度的监控和管理都至关重要。例如,在农业大棚中,精确控制温湿度对于作物的生长影响巨大;在仓储物流中,保持适宜的温湿度可以延长物品的保存期限;在HVAC系统中,精确的温湿度控制可以提高舒适度和节能效果。因此,选择一款合适

    2024年02月09日
    浏览(51)
  • DHT11温湿度传感器学习

     DHT11温湿度传感器共有四个引脚 1个VCC高电平,1个GND接地低电平,1个数据输出引脚,一个空引脚 工作时候,通过out引脚可以向传感器传递应答信号并返回40位的温湿度数据,也就是5个字节 前2个字节表示温度的整数位和小数位,后面两个字节是湿度的整数位和小数位,最后

    2024年02月07日
    浏览(66)
  • 温湿度传感器DHT11介绍

    温湿度传感器DHT11简介       DHT11数字温湿度传感器是一种出厂时经过校准的数字信号输出的温湿度数字温湿度传感器 。DHT11 数字温湿度传感器应用温湿度传感技术和数字采集技术,确保其具有极高的可靠性和卓越的长期稳定性。       DHT11 数字温湿度传感器内置一个电阻式

    2023年04月22日
    浏览(54)
  • 玩转传感器——DHT11温湿度传感器(STM32版)

    DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产

    2024年02月03日
    浏览(46)
  • arm学习-IIC总线连接温湿度传感器测量温湿度(si7006)

    main.c iic.h si7006.h iic.c si7006.c

    2024年02月13日
    浏览(52)
  • 【mcuclub】温湿度传感器DHT11

    为什么接上拉电阻: 因为DHT11的数据口是漏极开路,如果不接上拉电阻,则只能输出低电平和高阻态,不能输出高电平,因此需要外接上拉电阻,否则无法输出1。DHT11的工作电流约为1mA,VCC一般为5V,则电阻R=5V/1mA=5KΩ。一般3.3k~10k都可以。 DHT11 数字温湿度传感器是一款含有已

    2024年02月06日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包