AHT10驱动

1 简介

AHT10温湿度传感器模块

2 PIN

4根引脚,名称与功能如下;
VIN 3.3V供电
GND 地
SCL I2C通信模式时钟信号
SDA I2C通信模式数据信号

3 寄存器

1)地址

观察板子上面的地址选择电阻的焊接是在 0x38还是0x39。这里以0x38 (0011 1000) 为例。
0x38 再在低位加入读写位则 写地址: 0x70(0111 0000) 和 读地址: 0x71(0111 0001)
在这里插入图片描述

2)初始化

初始化写入命令 [0xe1, 0x08, 0x00]
在这里插入图片描述
在这里插入图片描述

3)读数据

写入读数据指令 [0xac, 0x33, 0x00]
在这里插入图片描述

4 代码

static unsigned int humi = 0, temp = 0;

void aht10_init(void)
{
    unsigned char i2c_tx_buff[3] = {0xe1, 0x08, 0x00};
    i2c_master_write(0x70, i2c_tx_buff, 3);
}

void aht10_get_info(void)
{
    unsigned char i2c_tx_buff[3] = {0xac, 0x33, 0x00};
    i2c_master_write(0x70, i2c_tx_buff, 3);
    delay_ms(80);

    unsigned char data[6] = {0};
    i2c_master_read(0x70, data, 6);

    if ((data[0]&0x08) == 0x08)//bit[3] == 1 已校准
    {
        humi = (data[1]<<12) | (data[2]<<4) | (data[3]>>4); //提取数据
        temp = ((data[3]&0x0f)<<16) | (data[4]<<8) | (data[5]); //提取数据

        humi = (humi * 100.0/1024/1024+0.5); //公式换算
        temp = (temp * 2000.0/1024/1024+0.5)/10.0-50; //公式换算
		printf("humi:%d temp:%d \n", humi, temp);
    }
    else
        aht10_init();
}

5 实测

初始化

在这里插入图片描述

读数据指令

在这里插入图片描述

读到的数据

在这里插入图片描述

LOG

16:05:36.995 <285> temp: 00 00 00 27
16:05:37.094 <286> humi: 00 00 00 60
16:05:37.094 <287> temp: 00 00 00 27
16:05:37.196 <289> temp: 00 00 00 27
16:05:37.295 <290> humi: 00 00 00 63
16:05:37.295 <291> temp: 00 00 00 27
16:05:37.394 <292> humi: 00 00 00 64
16:05:37.395 <293> temp: 00 00 00 27
16:05:37.494 <294> humi: 00 00 00 66
16:05:37.494 <295> temp: 00 00 00 27
16:05:37.595 <296> humi: 00 00 00 67
16:05:37.596 <297> temp: 00 00 00 28
16:05:37.693 <298> humi: 00 00 00 68
16:05:37.693 <299> temp: 00 00 00 28
16:05:37.794 <300> humi: 00 00 00 69
16:05:37.794 <301> temp: 00 00 00 28
16:05:37.894 <302> humi: 00 00 00 69
16:05:37.894 <303> temp: 00 00 00 28
16:05:37.996 <305> temp: 00 00 00 28
16:05:38.109 <306> humi: 00 00 00 71
16:05:38.109 <307> temp: 00 00 00 28
16:05:38.194 <308> humi: 00 00 00 71
16:05:38.194 <309> temp: 00 00 00 28
16:05:38.294 <310> humi: 00 00 00 72
16:05:38.295 <311> temp: 00 00 00 28
16:05:38.394 <312> humi: 00 00 00 72
16:05:38.394 <313> temp: 00 00 00 29
16:05:38.494 <314> humi: 00 00 00 72
16:05:38.494 <315> temp: 00 00 00 29
16:05:38.595 <316> humi: 00 00 00 73
16:05:38.595 <317> temp: 00 00 00 29
16:05:38.694 <318> humi: 00 00 00 73
16:05:38.694 <319> temp: 00 00 00 29

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值