打印

有谁用过AM2301测过温湿度?

[复制链接]
727|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pengf|  楼主 | 2017-9-22 22:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有谁用过AM2301测过温湿度?
沙发
renyaq| | 2017-9-22 22:26 | 只看该作者
不知道哎 一直都用热敏电阻

使用特权

评论回复
板凳
supernan| | 2017-9-22 22:28 | 只看该作者


AM2301不知道是什么,lz是要实现什么要求呢?

使用特权

评论回复
地板
xxrs| | 2017-9-22 22:29 | 只看该作者
楼主说的这个是测温仪吧

使用特权

评论回复
5
houcs| | 2017-9-22 22:32 | 只看该作者

温度还好,湿度同一批的各个传感器差别较大

使用特权

评论回复
6
yinxiangh| | 2017-9-22 22:34 | 只看该作者

木有 一般都用pt100

使用特权

评论回复
7
pangb| | 2017-9-22 22:35 | 只看该作者

可能太小众了吧

使用特权

评论回复
8
heweibig| | 2017-9-22 22:38 | 只看该作者
unsigned char humih1,humil1,temph1,templ1;
unsigned int r_temp,t_temp;

void sension_single_0()
{
        unsigned int i,j,k,t[100],m=0;
    uint8 data[10];
    uint8 temp[20];
    uint8 check=0;

        Data_Write(0);
    CyDelayUs(1000);
        Data_Write(1);
    Data_SetDriveMode(Data_DM_RES_UPDWN);
        t[0]=0;
        while((Data_Read())&&(t[0]<500))
        {
                t[0]++;
        }

        t[1]=0;
        while((!(Data_Read()))&&(t[1]<500))//low 80us
        {
                t[1]++;
        }

        t[2]=0;
        while((Data_Read())&&(t[2]<500))//high 80us
        {
                t[2]++;
        }

        k=0;
        data[k]=0;
        j=0;
        for(i=0;i<40;i++)//读取数据
        {
                t[3+2*i]=0;
                while((!(Data_Read()))&&(t[3+2*i]<500))//low 50us
                {
                        t[3+2*i]++;
           
                }
        
                t[4+2*i]=0;
      
                while((Data_Read())&&(t[4+2*i]<500))//high 80us
                {
                        t[4+2*i]++;
         
                }
         
                if(t[4+2*i]>10)
                {
                        data[k] |= (0x01<<(7-j));
                }

                j++;
                if(j==8)
                {
                        j=0;
                        k++;
                        data[k]=0;
                }
        }

    Data_SetDriveMode( Data_DM_STRONG );
        Data_Write(1);
   
    check=(data[0]+data[1]+data[2]+data[3]);
        if(data[4]==check)
        {
                r_temp=data[0];
                r_temp<<=8;
                r_temp+=data[1];
                t_temp=data[2];
                t_temp<<=8;
                t_temp+=data[3];
        }
        else
        {
                r_temp=0;
                t_temp=0;
        }
}

使用特权

评论回复
9
zwll| | 2017-9-22 22:39 | 只看该作者
也在用,使用单总线,读数据时,读回来的数据不对,还在找问题,你们的怎样使用

使用特权

评论回复
10
chuxh| | 2017-9-22 22:41 | 只看该作者
你也是使用单总线的吧

使用特权

评论回复
11
pengf|  楼主 | 2017-9-22 22:44 | 只看该作者
其实还是不大明白,我再琢磨琢磨吧,多谢了哈,结贴了先

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

718

主题

10129

帖子

3

粉丝