新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于ZigBee技術的門鈴及老人求助系統

        基于ZigBee技術的門鈴及老人求助系統

        作者: 時間:2012-05-04 來源:網絡 收藏

        硬件框架設計圖如圖2所示。

        本文引用地址:http://www.104case.com/article/155033.htm

        b.JPG



        3 軟件設計
        由上面可知本按功能分為3大模塊。
        (1)中控端
        在軟件部分,定義了UART0_Getchar()這個函數,負責接收字符,將接收到的字符傳給此函數。本項目又定義了一個字符變量m,將UART0_Getchar()的值賦給變量m,通過if((m=UART0_Getchar())=‘s’)語句來判斷是否有人來按。其中,值‘s’是作者自行設置的值,只有當m=‘s’時才能讓室內終端上的喇叭輸出鈴聲。
        同時,中控端還定義UARTGetchar()函數,負責接收終端發送過來的字符,本項目也定義一個變量1,與上面介紹的類似。最后通過if((1=UARTGelchar())=‘c’)這條語句來判斷是否發送了請求。同樣,值‘c’也是作者自行設置的。只有當條件滿足后,才會執行函數led invert()從而控制中控端上LED警示燈閃爍。
        而對于室外的按鍵,通過有線方式將按鍵延伸至門外。在LPC1769開發板上,本項目需要將上面的P0.0口改為GPIO口:
        LPC_PINCON->PINSEL0&=0xFFFFFFFC //把P0.0口改為GPIO口
        通過LPC_GPIO0->FIODIR&=0xFFFFFFFE這條語句設置LPC GPIO0為輸出,然后定義state變量用來讀取P0.0引腳狀態:state=LPC_GPIO0->FIOPIN。接著通過if(state&0x01)來判斷按鍵是否被按下。若為真,則可通過中控端定義好的發送函數傳給,由發送出去即可。
        (2)室內門鈴終端
        該模塊的軟件設計想也同上面的類似。也在LPC1769開發板上通過控制引腳狀態來判斷主人是否按下LCD控制按鈕。同樣定義了UARTGetchar()和UARTGetsend()函數用來接收和發送字符。
        (3)室內終端
        由于EasyARM1138開發板本身就設計了3個按鍵供用戶需要,任選一個按鍵,定義key_get()這個函數,用來判斷按鍵是否被按下,若按下了,則通過uart_puts()函數把設定好的字符‘c’通過UART口傳給ZigBee發送出去。與此同時,執行BuzzerSound()這個警鈴函數,通過定時器來控制聲音。

        結語
        老人終端不僅儀適用于家里的老人,對于行動不便的殘疾人士甚至小孩也可使用該功能,價格相對便宜,有較廣闊的市場應用前景;在ZigBee傳輸上面,已實現通過一對ZigBee進行信息傳輸,今后的研究中將進一步通過組網的形式將多個模塊聯合起來,以豐富其他功能,最終在生活中給人們帶來更多便捷。

        蜂鳴器相關文章:蜂鳴器原理

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 武夷山市| 桂阳县| 犍为县| 赞皇县| 淮南市| 莲花县| 永康市| 奉新县| 扎鲁特旗| 翁牛特旗| 沙田区| 象州县| 嵊泗县| 宣城市| 武威市| 汝阳县| 兰州市| 石城县| 屏东县| 沁阳市| 吉木萨尔县| 鄂托克前旗| 公安县| 区。| 阿合奇县| 惠安县| 长寿区| 廉江市| 革吉县| 宝兴县| 兴义市| 南丹县| 赤壁市| 洛隆县| 盐源县| 武汉市| 嘉定区| 朝阳市| 吴忠市| 宜昌市| 宁河县|