




已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
中南林業(yè)科技大學(xué)課程設(shè)計實驗報告專業(yè)班級:2013級計算機科學(xué)與技術(shù)2班授課教師:張艷學(xué)生姓名:陸煥麗學(xué)生學(xué)號: 20134636實驗一繼電器閃爍一 實驗?zāi)康模簩W(xué)會使用修改程序,使得繼電器按要求閃爍。二 內(nèi)容:修改以下程序,使得繼電器的綠燈閃一下,紅燈閃五下#include typedef unsigned int uint ;typedef unsigned char uchar;/定義控制燈的端口#define RLED P1_0/定義LED1為P10口控制#define YLED P1_1/定義LED2為P11口控制/函數(shù)聲明void Delay(uint);/延時函數(shù)void Initial(void);/初始化P0口/*/延時*/void Delay(uint n) uchar i; while(n-) for(i=200;i0;i-); /* 初始化程序*/void Initial(void) P1DIR |= 0x03; /P10、P11定義為輸出 RLED = 1; YLED = 1;/LED滅/*/主函數(shù)*/void main(void) Initial();/調(diào)用初始化函數(shù)RLED = 0;/LED1YLED = 0;/LED2while(1) RLED = 0; YLED = 1; Delay(1000); RLED = 1; YLED = 0; Delay(1000);三 實驗記錄:修改好的程序如下: #include typedef unsigned int uint ;typedef unsigned char uchar;/定義控制燈的端口#define RLED P1_0/定義LED1為P10口控制#define YLED P1_1/定義LED2為P11口控制/函數(shù)聲明void Delay(uint);/延時函數(shù)void Initial(void);/初始化P0口/*/延時*/void Delay(uint n) uchar i; while(n-) for(i=200;i0;i-); /* 初始化程序*/void Initial(void) P1DIR |= 0x03; /P10、P11定義為輸出 RLED = 1; YLED = 1;/LED滅/*/主函數(shù)*/void main(void)uint i; Initial();/調(diào)用初始化函數(shù)RLED = 0;/LED1YLED = 0;/LED2while(1) RLED = 0; YLED = 1; Delay(1000); for(i=0;ihdr.event ) case AF_INCOMING_MSG_CMD: GenericApp_MessageMSGCB( MSGpkt ); break; default: break; osal_msg_deallocate( (uint8 *)MSGpkt ); MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( GenericApp_TaskID ); return (events SYS_EVENT_MSG); return 0;static void GenericApp_MessageMSGCB( afIncomingMSGPacket_t *pkt ) unsigned char buf10; switch ( pkt-clusterId ) case GENERICAPP_CLUSTERID: osal_memcpy(buf,pkt-cmd.Data,10); if( (buf10=C)|(buf1=h)|(buf5=S)|(buf9=i) HalLedBlink(HAL_LED_1,2,40,700); break; default: break; 上述代碼實現(xiàn)的基本功能如下:第79行,將收到的數(shù)據(jù)拷貝到緩沖區(qū)buf中。第80行,判斷接收到的數(shù)據(jù)是不是“ChinaSofti”,這里是選擇性判斷了4個字符。如果是則執(zhí)行第82行,使LED紅燈閃爍2次。注意:上述代碼使用到了ZigBee協(xié)議棧提供的函數(shù)HalLedBlink(功能:使某個LED閃爍),直接使用即可。這里需要提醒讀者,使用協(xié)議棧進行應(yīng)用程序開發(fā)時,如果協(xié)議棧已經(jīng)提供了相應(yīng)的函數(shù),則只需要盡快掌握該函數(shù)的功能及使用方法即可,不需要另外實現(xiàn)該函數(shù)。由于我們的開發(fā)板硬件和TI的原廠開發(fā)板硬件有所不同,所以這里需要對相關(guān)的LED硬件初始化做一些調(diào)整。具體可分為以下兩步:1.打開ZMain文件夾下的ZMain.c文件,找到整個協(xié)議棧的主函數(shù)main()函數(shù),在85行(通過Tools-Options選項的Editor欄中設(shè)置show line numbers即可顯示行號):HAL_BOARD_INIT();鼠標(biāo)雙擊這個函數(shù)選定然后右擊,選擇跳轉(zhuǎn)到函數(shù)定義處,具體如圖4.7所示:2.還是在hal_board_cfg.h這個文件中,我們將116行和123行的ACTIVE_HIGH改為ACTIVE_LOW,這是因為我們的LED燈是IO口低電平觸發(fā)亮。通過以上兩步,相關(guān)的LED函數(shù)就可以正常使用了。到此為止,協(xié)調(diào)器的編程已經(jīng)基本結(jié)束,下面回憶一下上述代碼所做的基本工作。(1)刪除了協(xié)議棧中的GenericApp.c文件,然后添加了兩個文件: Coordinator.c和Enddevice.c。(2)給出了Coordinator.c的代碼,并給出了部分注釋,其中 Coordinator.c文件中很多代碼格式是固定的,讀者只需要熟悉這些代碼格式即可。在Workspace下面的下拉列表框中選擇CoordinatorEB,然后右鍵單擊Enddevice.c,在彈出的下拉菜單中選擇Options,如圖4.8所示。圖4.8 Options選項設(shè)置在彈出的對話框中,選擇Exclude from build,如圖4.9所示。圖4.9 Exclude from build此時,Enddevice.c文件會呈灰白顯示狀態(tài)。同時可以打開Tools文件夾可以看到f8wEndevcfg和f8wRouter.cfg文件也是呈灰白顯示狀態(tài),文件呈灰白顯示狀態(tài)說明該文件不參與編譯,ZigBee協(xié)議棧正是使用這種方式實現(xiàn)對源文件編譯的控制。f8w2530.xcl,f8wConfig.cfg,f8wCoord.cfg三個文件包含了節(jié)點的配置信息,具體功能如下:(1)f8w2530.xcl-包含了CC2530單片機的鏈接控制指令(如定義堆棧大小、內(nèi)存分配等),一般不需要改動。(2)f8wConfig.cfg-包含了信道選擇,網(wǎng)絡(luò)號等有關(guān)的鏈接命令。例如:下列代碼定義了建立網(wǎng)絡(luò)的信道默認(rèn)為11,即從11信道上建立ZigBee無線網(wǎng)絡(luò),第59行定義了ZigBee無線網(wǎng)絡(luò)的網(wǎng)絡(luò)號。因此如果想從其他信道上建立zigbee網(wǎng)絡(luò)和修改網(wǎng)絡(luò)號,就可以在此修改。(3)f8wCoord.cfg-定義了設(shè)備類型前文講到zigbee無線網(wǎng)絡(luò)中的設(shè)備類型有協(xié)調(diào)器,路由器和終端節(jié)點。下述代碼就定義了該設(shè)備具有協(xié)調(diào)器和路由器的功能。下面講解一下zigbee協(xié)議棧的編譯以及下載。點擊工具欄上的Make按鈕或者點擊Project下的Make,即可實現(xiàn)zigbee協(xié)議棧的編譯。編譯完成后,在窗口下方會自動彈出Message窗口,顯示編譯過程中的警告和出錯信息。Message窗口如圖4.10所示。圖4.10 Message窗口最后,用CC2530仿真器將開發(fā)板和電腦連接起來,復(fù)位一下仿真器,然后選擇工具欄上的Debug按鈕或者點擊Project下的Download and Debug,即可實現(xiàn)程序的下載。(2) 終端節(jié)點程序下面介紹一下終端節(jié)點的程序設(shè)計步驟。首先,在Workspace下面的下拉列表框中選擇EndDeviceEB,然后右鍵單擊Coordinator.c文件,在彈出的下拉菜單中選擇Options,在彈出的對話框中,選擇Exclude from build,此時,Coordinator.c文件會呈灰白顯示狀態(tài)。在Enddevice.c文件中輸入以下代碼: #include OSAL.h#include AF.h#include ZDApp.h#include ZDObject.h#include ZDProfile.h#include GenericApp.h#include DebugTrace.h#if !defined( WIN32 ) #include OnBoard.h#endif#include hal_led.h#include hal_key.h#include hal_uart.hconst cId_t GenericApp_ClusterListGENERICAPP_MAX_CLUSTERS = GENERICAPP_CLUSTERID;const SimpleDescriptionFormat_t GenericApp_SimpleDesc = GENERICAPP_ENDPOINT, / int Endpoint; GENERICAPP_PROFID, / uint16 AppProfId2; GENERICAPP_DEVICEID, / uint16 AppDeviceId2; GENERICAPP_DEVICE_VERSION, / int AppDevVer:4; GENERICAPP_FLAGS, / int AppFlags:4; GENERICAPP_MAX_CLUSTERS, / byte AppNumInClusters; (cId_t *)GenericApp_ClusterList, / byte *pAppInClusterList; GENERICAPP_MAX_CLUSTERS, / byte AppNumInClusters; (cId_t *)GenericApp_ClusterList / byte *pAppInClusterList;endPointDesc_t GenericApp_epDesc;byte GenericApp_TaskID; devStates_t GenericApp_NwkState;byte GenericApp_TransID;afAddrType_t GenericApp_DstAddr;static void GenericApp_SendTheMessage( void );void GenericApp_Init( uint8 task_id ) GenericApp_TaskID = task_id; GenericApp_NwkState = DEV_INIT; GenericApp_TransID = 0; GenericApp_DstAddr.addrMode = (afAddrMode_t)AddrNotPresent; GenericApp_DstAddr.endPoint = 0; GenericApp_DstAddr.addr.shortAddr = 0x0000; GenericApp_epDesc.endPoint = GENERICAPP_ENDPOINT; GenericApp_epDesc.task_id = &GenericApp_TaskID; GenericApp_epDesc.simpleDesc = (SimpleDescriptionFormat_t *)&GenericApp_SimpleDesc; GenericApp_epDesc.latencyReq = noLatencyReqs; afRegister( &GenericApp_epDesc );uint16 GenericApp_ProcessEvent( uint8 task_id, uint16 events ) afIncomingMSGPacket_t *MSGpkt; if ( events & SYS_EVENT_MSG ) MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( GenericApp_TaskID ); while ( MSGpkt ) switch ( MSGpkt-hdr.event ) case ZDO_STATE_CHANGE: GenericApp_NwkState = (devStates_t)(MSGpkt-hdr.status); if (GenericApp_NwkState = DEV_ZB_COORD) osal_start_timerEx( GenericApp_TaskID, GENERICAPP_SEND_MSG_EVT, GENERICAPP_SEND_MSG_TIMEOUT ); break; default: break; osal_msg_deallocate( (uint8 *)MSGpkt ); MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( GenericApp_TaskID ); return (events SYS_EVENT_MSG); if ( events & GENERICAPP_SEND_MSG_EVT ) GenericApp_SendTheMessage(); osal_start_timerEx( GenericApp_TaskID, GENERICAPP_SEND_MSG_EVT, GENERICAPP_SEND_MSG_TIMEOUT ); return (events GENERICAPP_SEND_MSG_EVT); return 0;static void GenericApp_SendTheMessage( void ) char theMessageData = Hello World; if ( AF_DataRequest( &GenericApp_DstAddr, &GenericApp_epDesc, GENERICAPP_CLUSTERID, (byte)osal_strlen( theMessageData ) + 1, (byte *)&theMessageData, &GenericApp_TransID, AF_DISCV_ROUTE, AF_DEFAULT_RADIUS ) = afStatus_SUCCESS ) HalLedBlink(HAL_LED_2,2,40,700); 4 點對點數(shù)據(jù)傳輸實驗解析前面實驗實現(xiàn)了ZigBee無線網(wǎng)絡(luò)中點對點的數(shù)據(jù)傳輸,但是具體流程并沒有講解,主要是想盡快讓讀者感受一下在ZigBee無線網(wǎng)絡(luò)里面的數(shù)據(jù)傳輸過程,對傳輸過程有個感性的認(rèn)識,然后進而展開講解。本節(jié)這是對上述實驗進行原理上的討論,具體的函數(shù)代碼并沒有過多的討論,目的是為了使讀者明白實驗思路,具體的代碼只要用多了自然就熟悉了。(1) 實驗原理及流程圖 協(xié)調(diào)器流程圖如圖4.11所示。 協(xié)調(diào)器上電后,會按照編譯時給定的參數(shù),選擇合適的信道、合適的網(wǎng)絡(luò)號,建立ZigBee無線網(wǎng)絡(luò),這部分內(nèi)容讀者不需要寫代碼實現(xiàn),ZigBee協(xié)議棧已經(jīng)實現(xiàn)了。圖4.11 協(xié)調(diào)器流程圖終端節(jié)點則是加入網(wǎng)絡(luò)后定期發(fā)送數(shù)據(jù)。流程圖與協(xié)調(diào)器類似。 終端節(jié)點上電后,會進行硬件電路的初始化,然后搜索是否有ZigBee無線網(wǎng)絡(luò),如果有ZigBee無線網(wǎng)絡(luò)再自動加入(這是最簡單的情況,當(dāng)然可以控制節(jié)點加入網(wǎng)絡(luò)時要符合編譯時確定的網(wǎng)絡(luò)號等),然后發(fā)送數(shù)據(jù)到協(xié)調(diào)器,最后使LED閃爍。(2) 數(shù)據(jù)發(fā)送 在zigbee協(xié)議棧中進行數(shù)據(jù)發(fā)送可以調(diào)用AF_Dataquest函數(shù)實現(xiàn),該函數(shù)會調(diào)用協(xié)議棧里面與硬件相關(guān)的函數(shù)最終將數(shù)據(jù)通過天線發(fā)送出去,這里面涉及對射頻模塊的操作,例如:打開發(fā)射機,調(diào)整發(fā)射機的發(fā)送功率等內(nèi)容,這些部分協(xié)議棧已經(jīng)實現(xiàn)了,用戶不需自己寫代碼去實現(xiàn),只需要掌握AF_DataRequest函數(shù)的使用方法即可。 下面簡要講解一下AF_DataRequest數(shù)據(jù)發(fā)送函數(shù)中各個參數(shù)的具體含義。afStatus_t AF_DataRequest(afAddrType_t * dstAddr, endPointDesc_t * srcEP, uint16 cID, uint16 len, uint8 * buf, uint8 * transID,uint8 options, uint8 radius )afAddrType_t *dstAddr-該參數(shù)包含了目的節(jié)點的網(wǎng)絡(luò)地址以及發(fā)送數(shù)據(jù)的格式,如廣播、單播或多播等。endPointDesc_t *srcEP-在ZigBee無線網(wǎng)絡(luò)中,通過網(wǎng)絡(luò)地址可以找到某個具體的節(jié)點,如協(xié)調(diào)器的網(wǎng)絡(luò)地址是0x0000,但是具體到某一個節(jié)點,還有不同的端口( endpoint),每個節(jié)點上最多支持240個端口(endpoint)。 節(jié)點與端口的關(guān)系如圖4.12所示,每個節(jié)點上最多有240個端口,端口0是默認(rèn)的ZDO( ZigBee Device Object),端口1-240用戶可以自己定義,引入端口主要是由于TI實現(xiàn)的ZigBee協(xié)議棧中加入了一個小的操作系統(tǒng),這樣,每個節(jié)點上的所有端口共用一個發(fā)射接收天線,不同節(jié)點上的端口之間可以進行通信,如節(jié)點1的端口1可以給節(jié)點2的端口1發(fā)送控制命令來點亮LED,節(jié)點1的端口1也可以給節(jié)點2的端口2發(fā)送命令進行數(shù)據(jù)采集操作,但是節(jié)點2上端口1和端口2的網(wǎng)絡(luò)地址是相同的,所以僅僅通過網(wǎng)絡(luò)地址無法區(qū)分,所以,在發(fā)送數(shù)據(jù)時不但要指定網(wǎng)絡(luò)地址,還要指定端口號。圖4.12 節(jié)點與端口應(yīng)此,通過使用端口號來區(qū)分同一節(jié)點上的不同端口。uint16 cID-這個參數(shù)描述的是命令號,在ZigBee協(xié)議里的命令主要用來標(biāo)識不同的控制操作,不問的命令號代表了不同的控制命令,如節(jié)點1的端口1可以給節(jié)點2的端口1發(fā)送控制命令,當(dāng)該命令的ID為1時表示點亮LED,為0時表示熄滅LED。因此,該參數(shù)主要是為了區(qū)別不同的命令。如終端節(jié)點在發(fā)送數(shù)據(jù)時使用的命令I(lǐng)D是GENERICAPP_CLUSTERID,它的值為1。uint16 len-該參數(shù)標(biāo)志了發(fā)送數(shù)據(jù)的長度。uint8 *buf-該參數(shù)是指向發(fā)送數(shù)據(jù)緩沖區(qū)的指針。發(fā)送數(shù)據(jù)函數(shù)會從該指針指向的地址按照指定的長度取得發(fā)送數(shù)據(jù)進行發(fā)送。uint8 *transID-該參數(shù)是一個指向發(fā)送序號的指針,每次發(fā)送數(shù)據(jù)時,發(fā)送序號會自動加1(協(xié)議棧里面實現(xiàn)的該功能),在接收端可以通過發(fā)送序號來判斷是否丟包,同時可以計算出丟包率。 uint8 options和uint8 radius-這兩個參數(shù)取默認(rèn)值即可。、2、 實驗?zāi)康模?了解Zigbee協(xié)議和掌握Zigbee無線傳感網(wǎng)開發(fā)入門,了解點對點數(shù)據(jù)連接。三、實例測試及結(jié)果 打開協(xié)調(diào)器電源開關(guān),然后打開終端節(jié)點電源開關(guān),等終端節(jié)點連接上網(wǎng)絡(luò)后,每隔5s,會發(fā)現(xiàn)協(xié)調(diào)器的LED紅燈閃爍兩下,這說明協(xié)調(diào)器已經(jīng)成功收到了終端節(jié)點發(fā)送的“ChinaSofti”數(shù)據(jù)。以上就是點對點的無線數(shù)據(jù)傳輸,讀者可以自行修改數(shù)據(jù)發(fā)送緩沖區(qū)theMessageData中的數(shù)據(jù)來實現(xiàn)類似功能。實驗截圖:四、實驗心得: 在整個過程中,通過軟件將不同的程序分別下載到不同的實驗器材中,通過中端節(jié)點發(fā)送無線信號給協(xié)調(diào)器使得協(xié)調(diào)器中接收到信號后在顯示界面中顯示chinasoft字符串,學(xué)習(xí)了如何使兩個發(fā)送器之間傳輸無線信息,當(dāng)中端節(jié)點關(guān)閉后,協(xié)調(diào)器中如果接收不到信號就不顯示字符。 實驗三可燃性氣體傳感器實驗1.【實驗?zāi)康摹?、了解MQ-2系列氣體傳感器的使用方法;2、掌握在Z-STACK協(xié)議中添加氣體傳感器采集數(shù)據(jù)的方法。3、掌握在Z-STACK任務(wù)中添加事件的方式;4、掌握周期性事件的處理方法。 2.【實驗設(shè)備】1、裝有IAR8.10軟件的PC機一臺;2、CC2530仿真器一臺;3、物聯(lián)網(wǎng)教學(xué)實驗平臺試驗箱一臺。3.【實驗要求】1、編程要求:按照實驗步驟實現(xiàn)應(yīng)用程序2、實現(xiàn)功能:傳感器檢測到可燃?xì)怏w后能夠?qū)缶⑸蟼鞯骄W(wǎng)關(guān),報警狀態(tài)解除后,也能將狀態(tài)上傳到網(wǎng)關(guān)。4.【實驗原理】MQ-2氣體傳感器所使用的氣敏材料是在清潔空氣中電導(dǎo)率較低的二氧化錫(SnO2)。當(dāng)傳感器所處環(huán)境中存在可燃?xì)怏w時,傳感器的電導(dǎo)率隨空氣中可燃?xì)怏w濃度的增加而增大簡單的電路即可將電導(dǎo)率的變化轉(zhuǎn)換為與該氣體濃度相對應(yīng)的輸出信號。MQ-2氣體傳感器對液化氣、丙烷、氫氣的靈敏度高,對天然氣和其它可燃蒸汽的檢測也很理想。這種傳感器可檢測多種可燃性氣體,是一款適合多種應(yīng)用的低成本傳感器。傳感器如下圖所示:1、MQ-2氣體傳感器主要特點如下:在較寬的濃度范圍內(nèi)對可燃?xì)怏w有良好的靈敏度; 對液化氣、丙烷、氫氣的靈敏度較高; 長壽命、低成本; 簡單的驅(qū)動電路即可。 2、MQ-2和CC2530連接原理圖如果檢測到煙霧報警,P0_0處檢測到高電平,否則,保持低電平。5.【實驗步驟】1、編寫基于Z-STACK的MQ-2驅(qū)動;2、在煙霧傳感器節(jié)點代碼中添加傳感器采集數(shù)據(jù)的事件;3、在協(xié)調(diào)器代碼中處理接收到的氣體傳感器報警消息;4、分別燒寫網(wǎng)關(guān)和傳感器對應(yīng)的代碼;5、通過串口助手觀察煙霧報警數(shù)據(jù)。細(xì)步驟:1.先安裝以下軟件:2.安裝好后,在電腦上插上繼電器和仿真器,然后右擊計算機,點擊管理,查看設(shè)備管理器3將仿真器復(fù)位。改一下代碼再運行程序:在59行改,-DZDAPP_CONFIG_PAN_ID=0x122a,再運行coordinatorEB里的coordinator.c這個程序4.拔掉繼電器,插上煙霧彈器,然后在smoke里運行smoke.c程序:5.拔掉原先的設(shè)備,分別將繼電器和紅外線插上電腦,打開sscom32,改三處,顯示、cm3、115200,再關(guān)閉串口,出現(xiàn)以下結(jié)果:6【關(guān)鍵代.碼分析】1、 static void GPIOInit(void) P0SEL &= 0x01; /P0_0設(shè)置為通用IO P0DIR &= 0x01; /將P0_0設(shè)置為輸入模式 if(SMOKE_GPIO = HIGH) SmokeStatusNow = SMOKE_YES; else SmokeStatusNow = SMOKE_NO;功能:初始化P0_0口為輸入模式;入口參數(shù):無;返回值:無。2、#define SMOKE_READ_EVT 0x0004上面的宏定義了煙霧報警采檢測事件,下面的代碼段用來處理報警事件。 if ( events & SMOKE_READ_EVT ) /查看光敏電阻狀態(tài) SmokeStatusOld = SmokeStatusNow; /保存當(dāng)前狀態(tài) if(SMOKE_GPIO = HIGH) /高電平,檢測到報警 SmokeStatusNow = SMOKE_YES; /更新狀態(tài) else if(SMOKE_GPIO = LOW) /低電平,報警消除 SmokeStatusNow = SMOKE_NO; /更新狀態(tài) /如果當(dāng)前狀態(tài)和上一個狀態(tài)不一樣,發(fā)送消息給網(wǎng)關(guān) if(SmokeStatusNow != SmokeStatusOld) UART0_Format.Command = 0x01; if(SmokeStatusNow = SMOKE_YES) UART0_Format.Data0 = 0x01; UART0_Format.Data1 = 0x00; else if(SmokeStatusNow = SMOKE_NO) UART0_Format.Data0 = 0x00; UART0_Format.Data1 = 0x00; osal_set_event(SerialApp_TaskID, SERIALAPP_SEND_EVT); /發(fā)送RF消息 /每隔200ms觸發(fā)一次檢測 osal_start_timerEx(SerialApp_TaskID, SMOKE_READ_EVT, 200); return ( events SMOKE_READ_EVT ); 上面的代碼通過輪詢的方式,每隔200ms檢測一次煙霧傳感器的狀態(tài),如果狀態(tài)發(fā)生了變化,將當(dāng)前的狀態(tài)發(fā)送出去;如果沒有變化,繼續(xù)檢測。7.實驗心得:這個實驗實現(xiàn)了有害氣體檢測報警功能,所涉及的知識點有:CC2530的GPIO功能配置;煙霧傳感器輸出信號的調(diào)理;周期消息的設(shè)置;串口收發(fā)函數(shù)的使用;事件的設(shè)置。 實驗四紅外熱釋電傳感器實驗1.【實驗?zāi)康摹?、了解紅外熱釋電傳感器的原理和使用方法;2、掌握在Z-STACK協(xié)議中添紅外熱釋電傳感器檢測人體活動的方法。3、掌握在Z-STACK任務(wù)中添加事件的方式; 4、掌握周期性事件的處理方法。 2【實驗設(shè)備】1、裝有IAR8.10軟件的PC機一臺;2、CC2530仿真器一臺;3、物聯(lián)網(wǎng)教學(xué)實驗平臺試驗箱一臺。3【實驗要求】1、編程要求:按照實驗步驟實現(xiàn)應(yīng)用程序; 2、實現(xiàn)功能:傳感器檢測到人體活動后,能都將狀態(tài)發(fā)送給網(wǎng)關(guān),靜止后,也能將狀態(tài)發(fā)送給網(wǎng)關(guān)。4.【實驗原理】在自然界,任何高于絕對溫度(-273度)時物體都將產(chǎn)生紅外光譜,不同溫度的物體,其釋放的紅外能量的波長是不一樣的,因此紅外波長與溫度的高低是相關(guān)的。在紅外探測器中有兩個關(guān)鍵性的元件,一個是熱釋電紅外傳感器(PIR),它能將波長為8一12um之間的紅外信號變化轉(zhuǎn)變?yōu)殡娦盘枺⒛軐ψ匀唤缰械陌坠庑盘柧哂幸种谱饔茫虼嗽诒粍蛹t外探測器的警戒區(qū)內(nèi),當(dāng)無人體移動時,熱釋電紅外感應(yīng)器感應(yīng)到的只是背景溫度,當(dāng)人體進人警戒區(qū),通過菲涅爾透鏡,熱釋電紅外感應(yīng)器感應(yīng)到的是人體溫度與背景溫度的差異信號,因此,紅外探測器的紅外探測的基本概念就是感應(yīng)移動物體與背景物體的溫度的差異。另外一個器件就是菲涅爾透鏡,菲涅爾透鏡有兩種形式,即折射式和反射式。菲涅爾透鏡作用有兩個:一是聚焦作用,即將熱釋的紅外信號折射(反射)在PIR上,第二個作用是將警戒區(qū)內(nèi)分為若干個明區(qū)和暗區(qū),使進入警戒區(qū)的移動物體能以溫度變化的形式在PIR上產(chǎn)生變化熱釋紅外信號,這樣PIR就能產(chǎn)生變化的電信號。人體都有恒定的體溫,一般在37度,所以會發(fā)出特定波長10微米左右的紅外線,被動式紅外探頭就是靠探測人體發(fā)射的10微米左右的紅外線而進行工作的。人體發(fā)射的10微米左右的紅外線通過菲泥爾濾光片增強后聚集到紅外感應(yīng)源上。紅外感應(yīng)源通常采用熱釋電元件,這種元件在接收到人體紅外輻射溫度發(fā)生變化時就會失去電荷平衡,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 垃圾分類知識培訓(xùn)課件
- 小學(xué)教育專業(yè)的實踐報告范文
- 本科論文審批意見
- 動物科學(xué)專業(yè)實習(xí)報告
- 電氣工程及其自動化相關(guān)課題
- 財務(wù)部門報銷培訓(xùn)
- 國際運輸物流培訓(xùn)課件
- 腫瘤并發(fā)癥的鑒別與治療策略
- 立式鉆床操作培訓(xùn)
- 家庭教育指導(dǎo)計劃
- 綠色施工管理體系及管理制度(土木)
- 護理與風(fēng)險防范課件
- 2025年高考安徽卷物理真題(解析版)
- 標(biāo)準(zhǔn)件項目管理制度
- 十五五智慧校園建設(shè)發(fā)展規(guī)劃
- 中醫(yī)眼科學(xué)綠風(fēng)內(nèi)障課件
- 暑假安全家長會課件
- 2025年中小學(xué)生安全知識競賽試題及答案
- 2024年山西煙草專賣局考試真題試卷及答案
- SOP-15天視頻起號流程圖
- 出口原產(chǎn)地管理制度
評論
0/150
提交評論