本篇文章主要介紹了使用Arduino平臺(tái)以及價(jià)格低廉且易于使用的ASK發(fā)送器/接收器模塊,為孩子或嬰兒房間安裝一款DIY自制的無(wú)線溫度和濕度監(jiān)控器。在發(fā)送端,Arduino nano使用DHT22傳感器感測(cè)室溫和濕度,并通過(guò)433 MHz ASK RF鏈路將數(shù)據(jù)發(fā)送到接收端Arduino。接收方Arduino解碼接收到的字節(jié)并將信息顯示在LCD屏幕上。 RF傳輸?shù)氖覂?nèi)范圍約為100英尺,這足以滿足常見(jiàn)的室內(nèi)面積。
所需的組件
您將需要以下物品來(lái)構(gòu)建此項(xiàng)目:
● ASK發(fā)送器/接收器對(duì)
● 兩個(gè)Arduino開(kāi)發(fā)板。在發(fā)射端使用Arduino Nano,在接收端使用Arduino Uno。
● 一個(gè)諾基亞5110 LCD,用于在接收端顯示數(shù)據(jù)
● 一個(gè)DHT22傳感器,用于在發(fā)射端上測(cè)量溫度和濕度
● 電線、面包板、原型板等。
ASK RF套件簡(jiǎn)介
在國(guó)內(nèi)和國(guó)際市場(chǎng)上,都可以在線購(gòu)買使用各種ASK Tx / Rx模塊。其中有些帶有彈簧天線,有些則沒(méi)有。對(duì)于沒(méi)有天線的天線,您可以將?20cm的導(dǎo)線連接到電路板上的天線針。下圖顯示了您可以在eBay和Amazon上購(gòu)買的一些ASK RF模塊。
在本文中,我們使用了NiceRF公司生產(chǎn)的高質(zhì)量ASK RF模塊。這些模塊的優(yōu)點(diǎn)是它們非常緊湊,面包板和PCB友好,由高質(zhì)量PCB制成,配有銅制彈簧天線,并具有合理的傳輸范圍。
發(fā)送器的硬件設(shè)置
ASK發(fā)送器模塊具有三個(gè)引腳:VCC、數(shù)據(jù)和接地。根據(jù)制造商的不同,它們的順序可能不同。因此,請(qǐng)務(wù)必仔細(xì)查看引腳,以識(shí)別這些模塊上的數(shù)據(jù)和電源引腳。 VCC和Gnd引腳連接到Arduino Nano的+ 5V和Gnd引腳,而Tx模塊的數(shù)據(jù)引腳連接到Arduino的數(shù)字I / O引腳12。 LED還與串聯(lián)的限流電阻一起連接到I / O引腳11。在數(shù)據(jù)傳輸過(guò)程中,該LED點(diǎn)??亮。
發(fā)送電路(與LED串聯(lián)的電阻為330歐姆)
將上面的電路連接到面包板上,如下圖所示。
接收端的電路設(shè)置
接收模塊同樣包含VCC、Gnd和Data三個(gè)引腳。某些模塊可能具有多個(gè)數(shù)據(jù)引腳。在這種情況下,您可以使用它們中的任何一個(gè),因?yàn)樗鼈兌歼B接在一起。在接收端,Rx模塊的數(shù)據(jù)引腳輸出,并由Arduino引腳讀取。在本文中,它連接到Arduino的D11引腳。與發(fā)送端類似,連接到D3引腳的LED指示接收發(fā)送器發(fā)送的數(shù)據(jù)。諾基亞5110 LCD也連接到接收端Arduino,以顯示遠(yuǎn)程站的溫度和濕度。在本文中,我在接收端使用Crowduino Uno。請(qǐng)注意,諾基亞5110 LCD的工作電壓為3.3V。如果您的Arduino開(kāi)發(fā)板工作在5.0V,則在Arduino和LCD之間需要一個(gè)電壓轉(zhuǎn)換器。下圖更詳細(xì)地顯示了接收端的連接。
我使用了通用的Arduino原型板來(lái)構(gòu)建上述電路。下圖顯示了焊接在Arduino proto-shield上的組裝好的接收器電路
軟件代碼
該項(xiàng)目使用由Mike McCauley編寫(xiě)的Arduino VirtualWire庫(kù)。該庫(kù)支持市場(chǎng)上眾多的低成本RF發(fā)送器和接收器,并允許通過(guò)ASK調(diào)制發(fā)送短消息。在此項(xiàng)目中,Tx端的Arduino從DHT22傳感器讀取溫度和濕度,將兩個(gè)讀數(shù)合并為一個(gè)字符串,然后通過(guò)RF鏈接發(fā)送。在接收端,Arduino從接收的字符串中提取兩個(gè)讀數(shù),并在諾基亞5110 LCD上顯示數(shù)據(jù)。您可以從以下鏈接下載用于Tx和Rx末端的VirtualWire庫(kù)和Arduino代碼。
● 下載VirtualWire庫(kù)
● 下載用于發(fā)送端的Arduino代碼
● 下載用于接收端的Arduino代碼
輸出
將固件上傳到兩個(gè)Arduino開(kāi)發(fā)板后,該項(xiàng)目就可以進(jìn)行測(cè)試了。您可以將Tx模塊放置在要遠(yuǎn)程監(jiān)控溫度和濕度的地方,并將Rx模塊放置在100英尺范圍內(nèi)。您應(yīng)該在LCD屏幕上看到測(cè)量值,如下所示:
可以通過(guò)在Rx端添加蜂鳴器,并編程Arduino以在溫度和/或濕度超出預(yù)設(shè)極限值時(shí)發(fā)出警報(bào)來(lái)進(jìn)一步擴(kuò)展該項(xiàng)目。
編輯:hfy
-
傳感器
+關(guān)注
關(guān)注
2550文章
51035瀏覽量
753067 -
lcd
+關(guān)注
關(guān)注
34文章
4424瀏覽量
167398 -
諾基亞
+關(guān)注
關(guān)注
9文章
3185瀏覽量
83223 -
蜂鳴器
+關(guān)注
關(guān)注
12文章
891瀏覽量
45917 -
Arduino
+關(guān)注
關(guān)注
188文章
6468瀏覽量
186951
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論