请选择 进入手机版 | 继续访问电脑版

智能创客,中国最大的极客空间,智能平台,免费教学,视频教程,手把手教你创造儿时梦想!

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 28429|回复: 102

Arduino开源智能家居02《温湿传感器》什么样温湿度才适居

  [复制链接]

110

主题

396

帖子

2329

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2329
QQ
发表于 2014-7-6 17:16:41 | 显示全部楼层 |阅读模式
DIY这前先科普一下:最宜人的室内温湿度是:
1、冬天温度为18至25℃,湿度为30%至80%;
2、夏天温度为23至28℃,湿度为30%至60%,在此范围内感到舒适的人占95%以上。
3、在装有空调的室内,室温为19至24℃,湿度为40%至50%时,人会感到最舒适。如果考虑到温、湿度对人思维活动的影响,最适宜的室温度应是工作效率高。18℃,湿度应是40%至60%,此时人的精神状态好,思维最敏捷。
021.jpg
OK,今天就来教大家DIY《温湿传感器》,时时了解你家中的温湿度,看看是否合适居住吧!

看看我们需要的配件
010.jpg
1、zigbee开发板 30元
2、zigbee模块 45元
3、zigbee扩展板 15元
4、DHT11温湿传感器 8元

淘配件:http://item.taobao.com/item.htm?id=39907366908
游客,如果您要查看本帖隐藏内容请回复





第一步:组合开发板和扩展板,连接等
一、DHT11温湿度接线
050.jpg
扩展板仿着面包板做的,记得DHT11的第2脚针要连P0.6。

051.jpg
连好后的效果,加入一个LED是为了方便查看是否正常(闪亮说明正常)。

二、插入到开发板上
052.jpg

053.jpg
注意:拿个东西隔离zigbee模块,如果压到上面的脚针可能会短路。


第二部份:为ZIGBEE模块刷代码。

一、插上SMARTRF04EB下载器(如果IAR 8.10不认的话,请看是否插正确/用笔戳RESET键)。
060.jpg

061.jpg

062.jpg
RESET重启键。


二、源代码解说

ZIGBEE模块源代码点这里下载:
http://pan.baidu.com/s/1nMd6Q

主要三个文件:SerialApp.c、DHT11.H、DHT11.C。(如果对源码结构不懂,请看这篇文章《Zigbee自组网
SerialApp.c是实现层,只要我们在这里调用相关的功能就可以。
DHT11.H、DHT11.C就是获取温湿度的类啦(通过小修改还可以用在其它单片机上哦)!

1、将DHT11.H、DHT11.C导入项目(这步源代码已经存在,可以不用操作)
110.jpg
然后直接“选择”再确定,就可以添加进来了!

2、在SerialApp.c引用DHT11.h。
120.jpg
添加:#include "DHT11.h"

3、设置获取温湿度间隔
#define INTERVAL  10000 //1000=1秒,获取温湿度间隔,建议大于10秒以上(采集越小耗能就越多)

4、在SerialApp_ProcessEvent启用:
osal_start_timerEx( SerialApp_TaskID, SERIALAPP_SAMPLE_EVT, INTERVAL);  //定时采样数据(这里就是启动)

5、采集代码部份
[C] 纯文本查看 复制代码
if ( events & SERIALAPP_SAMPLE_EVT )
  {
    
    uint8 *sendBuf="SERIALAPP_SAMPLE_EVT\n";  
    HalUARTWrite(SERIAL_APP_PORT,sendBuf,osal_strlen(sendBuf));
    
    osal_memset(SerialApp_TxBuf, 0, SERIAL_APP_TX_MAX);
        
    //adc = GetAdc(); //设备自身湿度,可以不用
    
    uint8 W[3]={0};//温度
    uint8 S[3]={0};//湿度
    DHT11_TEST();//获取温湿度    
    W[0]=wendu_shi+48;//转为字符
    W[1]=wendu_ge+48;//转为字符
   
    S[0]=shidu_shi+48;//转为字符
    S[1]=shidu_ge+48;//转为字符
   
    
    if(S[0]=='0' && S[1]=='0')
    {
      //如果获取不到则不处理
    }
    else
    {
      //将获取到的温湿度传到网关
      uint8 SerialApp_Tx[SERIAL_APP_TX_MAX+1]={0};//声明发送字符串
      sprintf(SerialApp_Tx, "{ck001002%s.%s}", S, W);//温湿度写入字符串 //%4.3fV DEVID, adc   //%2d.%2d
      HalUARTWrite(SERIAL_APP_PORT,SerialApp_Tx,osal_strlen(SerialApp_Tx));//在串口打印,方便我们自己调式
      
      //使用无线发送到网关
      SerialApp_TxAddr.addrMode =(afAddrMode_t) Addr16Bit;
      SerialApp_TxAddr.addr.shortAddr = 0xFFFF;//0x0000
      SerialApp_TxAddr.endPoint = SERIALAPP_ENDPOINT;
      AF_DataRequest(&SerialApp_TxAddr, (endPointDesc_t *)&SerialApp_epDesc,
                    SERIALAPP_CLUSTERID1, osal_strlen(SerialApp_Tx), SerialApp_Tx,  &SerialApp_MsgID, 0, AF_DEFAULT_RADIUS);  
      //发送完毕
    }
    HAL_TOGGLE_LED1();//点亮或关闭LED1 P1.0针脚
    osal_start_timerEx( SerialApp_TaskID, SERIALAPP_SAMPLE_EVT, INTERVAL);//等待间隔时间后,再使用定时器运行SERIALAPP_SAMPLE_EVT事件!
    
    return ( events ^ SERIALAPP_SAMPLE_EVT );
  }


6、点击编译
130.jpg

上面完成后,看到有绿色的调试,按F5就刷代码成功了!


第三步:连接电脑串口调试

一、插上CP2102 USB下载器
070.jpg
对应好再插入
DTR RX TX VCC CTS GND

二、电脑打开串口软件
071.jpg


三、手机打开http://m.znck007.com
在《智能创客手机控制端》里,家中环境-》家中温度,空气湿度,就可以看到当前的温湿度了!
073.jpg



那么这样,我们调试就成功了!


如果想让他单独运行,可以用CP2102再加上USB充电器供电(可为手机充电的)
072.jpg
淘配件:http://item.taobao.com/item.htm?id=39970742691

切记:其它方式供电只能为v3.3,否则可能会烧坏zigbee模块!




《Arduino开源智能家居DIY教程系列》
Arduino开源智能家居《花絮1》zigbee小底板DIY成功
Arduino开源智能家居《认识Zigbee》zigbee功能和自组网介绍
Arduino开源智能家居《zigbee开发板》手机/按键点亮LED
Arduino开源智能家居01《网关》升级版网关正式教程(zigbee)
Arduino开源智能家居02《温湿传感器》什么样温湿度才适居
Arduino开源智能家居03《开发板套件》学习zigbee家居-性价比高
Arduino开源智能家居04《插座开关》手机控制:网扇、空调...
Arduino开源智能家居05《红外线》手机红外线控制电器


《百元智能家居DIY教程系列》
《智能家居网关》DIY制作图文教程01-百元智能家居系列
《智能温湿度》DIY制作图文教程02-百元智能家居系列
《智能插座》DIY制作图文教程03-百元智能家居系列
《智能电灯开关》DIY制作图文教程04-百元智能家居系列
《手机红外线》DIY制作图文教程05-百元智能家居系列
关注@智能创客  微信:znck007(打造DIY创客平台)





回复

使用道具 举报

0

主题

9

帖子

130

积分

注册会员

Rank: 2

积分
130
发表于 2014-7-7 10:02:33 | 显示全部楼层
我也觉得anduino组网太弱了,完全抛弃anduino,用cc2530的io都可以
回复 支持 反对

使用道具 举报

0

主题

5

帖子

230

积分

中级会员

Rank: 3Rank: 3

积分
230
发表于 2014-7-7 10:47:53 | 显示全部楼层
Arduino开源智能家居02《温湿传感器》什么样温湿度才适居
回复 支持 反对

使用道具 举报

110

主题

396

帖子

2329

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2329
QQ
 楼主| 发表于 2014-7-7 11:07:07 | 显示全部楼层
wuchang1123 发表于 2014-7-7 10:02
我也觉得anduino组网太弱了,完全抛弃anduino,用cc2530的io都可以

哈哈哈。但麻烦呀。呵呵。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

50

积分

注册会员

Rank: 2

积分
50
发表于 2014-7-7 11:16:25 | 显示全部楼层
已经买了设备了。看看教程~~~
回复 支持 反对

使用道具 举报

110

主题

396

帖子

2329

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2329
QQ
 楼主| 发表于 2014-7-7 17:10:28 | 显示全部楼层
yujie020 发表于 2014-7-7 11:16
已经买了设备了。看看教程~~~

加油加油。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2014-7-10 23:44:36 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

0

主题

2

帖子

22

积分

新手上路

Rank: 1

积分
22
发表于 2014-7-26 10:31:42 | 显示全部楼层
希望学习一下
回复 支持 反对

使用道具 举报

0

主题

4

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2014-8-7 21:18:40 | 显示全部楼层
ffffffffffffffffffffffffffffffffffffffffffff
回复 支持 反对

使用道具 举报

0

主题

9

帖子

72

积分

注册会员

Rank: 2

积分
72
发表于 2014-8-9 14:32:40 | 显示全部楼层
继续学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|小黑屋|手机版|智能创客 ( 桂ICP备14000828号

GMT+8, 2024-3-29 14:21 , Processed in 0.149456 second(s), 35 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表