打印

AM2301测温湿度

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

使用特权

评论回复
板凳
supernan| | 2016-4-17 12:39 | 只看该作者

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

使用特权

评论回复
地板
栩栩如生| | 2016-4-17 12:40 | 只看该作者
楼主说的这个是测温仪吧

使用特权

评论回复
5
houcs| | 2016-4-17 12:42 | 只看该作者
温度还好,湿度同一批的各个传感器差别较大

使用特权

评论回复
6
yinxiangh| | 2016-4-17 12:44 | 只看该作者
木有 一般都用pt100

使用特权

评论回复
7
pangb| | 2016-4-17 12:45 | 只看该作者
可能太小众了吧

使用特权

评论回复
8
pengf|  楼主 | 2016-4-17 12:46 | 只看该作者
算了,明天再说吧

使用特权

评论回复
9
wangyufeng2500| | 2016-4-18 18:30 | 只看该作者
撞枪口上了,上周刚弄好。
 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;
        }
}



IO设置为双向IO,亲测OK。IIC的SHT20上上周也上传了。

使用特权

评论回复
10
bingg| | 2016-4-25 10:17 | 只看该作者
也在用,使用单总线,读数据时,读回来的数据不对,还在找问题,你们的怎样使用

使用特权

评论回复
11
bingg| | 2016-4-25 10:18 | 只看该作者
wangyufeng2500 发表于 2016-4-18 18:30
撞枪口上了,上周刚弄好。

你也是使用单总线的吧

使用特权

评论回复
12
cnb12345| | 2016-4-25 10:45 | 只看该作者

使用特权

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

本版积分规则

718

主题

10129

帖子

3

粉丝