加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

Arduino開源智能家居02《溫濕傳感器》什么樣溫濕度才適居

2014/07/15
6
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

sz1規(guī)格書、原理圖.rar

共3個文件

DIY這前先科普一下:最宜人的室內(nèi)溫濕度是:

1、冬天溫度為18至25℃,濕度為30%至80%;
2、夏天溫度為23至28℃,濕度為30%至60%,在此范圍內(nèi)感到舒適的人占95%以上。
3、在裝有空調(diào)的室內(nèi),室溫為19至24℃,濕度為40%至50%時,人會感到最舒適。如果考慮到溫、濕度對人思維活動的影響,最適宜的室溫度應(yīng)是工作效率高。18℃,濕度應(yīng)是40%至60%,此時人的精神狀態(tài)好,思維最敏捷。

OK,今天就來教大家DIY《溫濕傳感器》,時時了解你家中的溫濕度,看看是否合適居住吧!

看看我們需要的配件

1、zigbee開發(fā)板 30元
2、zigbee模塊 45元
3、zigbee擴(kuò)展板 15元
4、DHT11溫濕傳感器 8元

本帖隱藏的內(nèi)容

一共是98元,時時監(jiān)控你家中、室外、田地的溫濕度,須與《網(wǎng)關(guān)》配合使用!
網(wǎng)關(guān)的兩個下載器,都可以給它供電!切記:只能供3.3V否則燒!

第一步:組合開發(fā)板和擴(kuò)展板,連接等一、DHT11溫濕度接線

擴(kuò)展板仿著面包板做的,記得DHT11的第2腳針要連P0.6。


連好后的效果,加入一個LED是為了方便查看是否正常(閃亮說明正常)。

二、插入到開發(fā)板上


注意:拿個東西隔離zigbee模塊,如果壓到上面的腳針可能會短路。

第二部份:為ZIGBEE模塊刷代碼。
一、插上SMARTRF04EB下載器(如果IAR 8.10不認(rèn)的話,請看是否插正確/用筆戳RESET鍵)。


RESET重啟鍵。

二、源代碼解說

ZIGBEE模塊源代碼點這里下載:
https://pan.baidu.com/s/1nMd6Q

主要三個文件:SerialApp.c、DHT11.H、DHT11.C。(如果對源碼結(jié)構(gòu)不懂,請看這篇文章《Zigbee自組網(wǎng)
SerialApp.c是實現(xiàn)層,只要我們在這里調(diào)用相關(guān)的功能就可以。
DHT11.H、DHT11.C就是獲取溫濕度的類啦(通過小修改還可以用在其它單片機(jī)上哦)!

1、將DHT11.H、DHT11.C導(dǎo)入項目(這步源代碼已經(jīng)存在,可以不用操作)

然后直接“選擇”再確定,就可以添加進(jìn)來了!

2、在SerialApp.c引用DHT11.h。

添加:#include "DHT11.h"

3、設(shè)置獲取溫濕度間隔
#define INTERVAL 10000 //1000=1秒,獲取溫濕度間隔,建議大于10秒以上(采集越小耗能就越多)

4、在SerialApp_ProcessEvent啟用:
osal_start_timerEx( SerialApp_TaskID, SERIALAPP_SAMPLE_EVT, INTERVAL); //定時采樣數(shù)據(jù)(這里就是啟動)

5、采集代碼部份

[C] 純文本查看 復(fù)制代碼

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

if ( events & SERIALAPP_SAMPLE_EVT )

{

uint8 *sendBuf="SERIALAPP_SAMPLE_EVTn";

HalUARTWrite(SERIAL_APP_PORT,sendBuf,osal_strlen(sendBuf));

osal_memset(SerialApp_TxBuf, 0, SERIAL_APP_TX_MAX);

//adc = GetAdc(); //設(shè)備自身濕度,可以不用

uint8 W[3]={0};//溫度

uint8 S[3]={0};//濕度

DHT11_TEST();//獲取溫濕度

W[0]=wendu_shi+48;//轉(zhuǎn)為字符

W[1]=wendu_ge+48;//轉(zhuǎn)為字符

S[0]=shidu_shi+48;//轉(zhuǎn)為字符

S[1]=shidu_ge+48;//轉(zhuǎn)為字符

if(S[0]=='0' && S[1]=='0')

{

//如果獲取不到則不處理

}

else

{

//將獲取到的溫濕度傳到網(wǎng)關(guān)

uint8 SerialApp_Tx[SERIAL_APP_TX_MAX+1]={0};//聲明發(fā)送字符串

sprintf(SerialApp_Tx, "{ck001002%s.%s}", S, W);//溫濕度寫入字符串 //%4.3fV DEVID, adc //%2d.%2d

HalUARTWrite(SERIAL_APP_PORT,SerialApp_Tx,osal_strlen(SerialApp_Tx));//在串口打印,方便我們自己調(diào)式

//使用無線發(fā)送到網(wǎng)關(guān)

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);

//發(fā)送完畢

}

HAL_TOGGLE_LED1();//點亮或關(guān)閉LED1 P1.0針腳

osal_start_timerEx( SerialApp_TaskID, SERIALAPP_SAMPLE_EVT, INTERVAL);//等待間隔時間后,再使用定時器運行SERIALAPP_SAMPLE_EVT事件!

return ( events ^ SERIALAPP_SAMPLE_EVT );

}

6、點擊編譯

上面完成后,看到有綠色的調(diào)試,按F5就刷代碼成功了!

第三步:連接電腦串口調(diào)試一、插上CP2102 USB下載器

對應(yīng)好再插入
DTR RX TX VCC CTS GND

二、電腦打開串口軟件

三、手機(jī)打開https://m.znck007.com
在《智能創(chuàng)客手機(jī)控制端》里,家中環(huán)境-》家中溫度,空氣濕度,就可以看到當(dāng)前的溫濕度了!

那么這樣,我們調(diào)試就成功了!

如果想讓他單獨運行,可以用CP2102再加上USB充電器供電(可為手機(jī)充電的)

切記:其它方式供電只能為v3.3,否則可能會燒壞zigbee模塊!

  • sz1規(guī)格書、原理圖.rar
    下載
  • 配件清單.jpg
    下載
  • Arduino開源智能家居02《溫濕傳感器》.pdf
    下載

相關(guān)推薦