AM2301测温湿度

[复制链接]
 楼主| 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 | 显示全部楼层
楼主说的这个是测温仪吧
houcs 发表于 2016-4-17 12:42 | 显示全部楼层
温度还好,湿度同一批的各个传感器差别较大
yinxiangh 发表于 2016-4-17 12:44 | 显示全部楼层
木有 一般都用pt100
pangb 发表于 2016-4-17 12:45 | 显示全部楼层
可能太小众了吧
 楼主| pengf 发表于 2016-4-17 12:46 | 显示全部楼层
算了,明天再说吧
wangyufeng2500 发表于 2016-4-18 18:30 | 显示全部楼层
撞枪口上了,上周刚弄好。
  1. unsigned char humih1,humil1,temph1,templ1;
  2. unsigned int r_temp,t_temp;

  3. void sension_single_0()
  4. {
  5.         unsigned int i,j,k,t[100],m=0;
  6.     uint8 data[10];
  7.     uint8 temp[20];
  8.     uint8 check=0;

  9.         Data_Write(0);
  10.     CyDelayUs(1000);
  11.         Data_Write(1);
  12.     Data_SetDriveMode(Data_DM_RES_UPDWN);
  13.         t[0]=0;
  14.         while((Data_Read())&&(t[0]<500))
  15.         {
  16.                 t[0]++;
  17.         }

  18.         t[1]=0;
  19.         while((!(Data_Read()))&&(t[1]<500))//low 80us
  20.         {
  21.                 t[1]++;
  22.         }

  23.         t[2]=0;
  24.         while((Data_Read())&&(t[2]<500))//high 80us
  25.         {
  26.                 t[2]++;
  27.         }

  28.         k=0;
  29.         data[k]=0;
  30.         j=0;
  31.         for(i=0;i<40;i++)//读取数据
  32.         {
  33.                 t[3+2*i]=0;
  34.                 while((!(Data_Read()))&&(t[3+2*i]<500))//low 50us
  35.                 {
  36.                         t[3+2*i]++;
  37.            
  38.                 }
  39.         
  40.                 t[4+2*i]=0;
  41.       
  42.                 while((Data_Read())&&(t[4+2*i]<500))//high 80us
  43.                 {
  44.                         t[4+2*i]++;
  45.          
  46.                 }
  47.          
  48.                 if(t[4+2*i]>10)
  49.                 {
  50.                         data[k] |= (0x01<<(7-j));
  51.                 }

  52.                 j++;
  53.                 if(j==8)
  54.                 {
  55.                         j=0;
  56.                         k++;
  57.                         data[k]=0;
  58.                 }
  59.         }

  60.     Data_SetDriveMode( Data_DM_STRONG );
  61.         Data_Write(1);
  62.    
  63.     check=(data[0]+data[1]+data[2]+data[3]);
  64.         if(data[4]==check)
  65.         {
  66.                 r_temp=data[0];
  67.                 r_temp<<=8;
  68.                 r_temp+=data[1];
  69.                 t_temp=data[2];
  70.                 t_temp<<=8;
  71.                 t_temp+=data[3];
  72.         }
  73.         else
  74.         {
  75.                 r_temp=0;
  76.                 t_temp=0;
  77.         }
  78. }



IO设置为双向IO,亲测OK。IIC的SHT20上上周也上传了。
bingg 发表于 2016-4-25 10:17 | 显示全部楼层
也在用,使用单总线,读数据时,读回来的数据不对,还在找问题,你们的怎样使用
bingg 发表于 2016-4-25 10:18 | 显示全部楼层
wangyufeng2500 发表于 2016-4-18 18:30
撞枪口上了,上周刚弄好。

你也是使用单总线的吧
cnb12345 发表于 2016-4-25 10:45 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

718

主题

10129

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部