無線傳感器節(jié)點(diǎn)是帶有無線發(fā)射器的傳感器節(jié)點(diǎn)。它具有一個(gè)或多個(gè)帶有放大器和信號(hào)調(diào)節(jié)電路或數(shù)字/智能傳感器的傳感元件、一個(gè)微控制器單元、調(diào)制器和帶天線的發(fā)射器,以及一個(gè)電池。它由電池或太陽能供電,可感應(yīng)溫度、陽光、土壤濕度或震動(dòng)等,并將信號(hào)傳輸?shù)竭h(yuǎn)程接收器。
許多這樣的傳感器節(jié)點(diǎn)以固定距離放置在一個(gè)大的地理區(qū)域中以覆蓋整個(gè)區(qū)域。它們都將數(shù)據(jù)發(fā)送到位于中央數(shù)據(jù)監(jiān)控和存儲(chǔ)系統(tǒng)中的接收器。所有傳感器節(jié)點(diǎn)都定期傳輸數(shù)據(jù)(值)。接收器從所有這些節(jié)點(diǎn)接收數(shù)據(jù)并存儲(chǔ)和顯示它以用于監(jiān)視和控制目的。
在農(nóng)田中,自動(dòng)灌溉系統(tǒng)有許多遍布整個(gè)農(nóng)場的土壤濕度傳感器節(jié)點(diǎn)。這些周期性地將土壤濕度水平傳輸?shù)揭粋€(gè)中央接收器,該接收器連接到監(jiān)測和控制系統(tǒng)。如果某一特定區(qū)域的土壤濕度水平低于閾值水平,則該區(qū)域的水泵、電磁閥等將自動(dòng)打開。因此,整個(gè)農(nóng)場所需的土壤濕度水平得以維持。
在兩國之間的邊界處,可以將帶有 PIR 接近傳感器的傳感器節(jié)點(diǎn)放置在固定距離處,以檢測邊界處的任何運(yùn)動(dòng)并向控制站發(fā)送警告/警報(bào)消息。
對于溫室,需要保持適當(dāng)?shù)臏囟取穸群完柟狻R虼耍鋫淞嗽S多傳感器節(jié)點(diǎn),可以感知溫室內(nèi)不同位置的溫度、濕度和陽光,并定期將數(shù)據(jù)發(fā)送到中央控制室。中央控制室根據(jù)收集的傳感器數(shù)據(jù)增加/減少冷卻、濕度或光照強(qiáng)度。
在該項(xiàng)目中,使用的多個(gè)傳感器是數(shù)字濕度和溫度傳感器、感測環(huán)境光的光敏電阻器 (LDR) 和感測土壤水分含量的土壤濕度傳感器。該項(xiàng)目還使用 Arduino Nano 作為微控制器 (MCU) 和 433MHz ASK RF 發(fā)射器模塊。可以有很多這樣的傳感器節(jié)點(diǎn),但這里只使用兩個(gè)這樣的節(jié)點(diǎn)。
接收器包括 433MHz ASK RF 接收器模塊、實(shí)時(shí)時(shí)鐘 (RTC) 模塊和 Arduino Nano。兩個(gè)傳感器節(jié)點(diǎn)都傳輸溫度、濕度、環(huán)境光和土壤含水量的感測值數(shù)據(jù)。接收器接收來自兩個(gè)傳感器的值(共八個(gè)值)并將它們提供給計(jì)算機(jī),計(jì)算機(jī)顯示這些值并存儲(chǔ)以備將來使用。
如圖 1 中項(xiàng)目的框圖所示,有兩個(gè)不同的部分——發(fā)射器(傳感器節(jié)點(diǎn))和遠(yuǎn)程數(shù)據(jù)接收器。傳感器節(jié)點(diǎn)由不同的傳感器、微控制器、射頻發(fā)射器和電池組成。
圖 1:項(xiàng)目框圖
傳感器
DHT11 是一種智能傳感器,可感應(yīng)周圍的溫度和濕度并將此數(shù)據(jù)發(fā)送到微控制器。LDR 感應(yīng)環(huán)境光,土壤濕度傳感器感應(yīng)土壤水分含量。
微控制器
Arduino Nano 板用作微控制器,從所有三個(gè)傳感器讀取數(shù)據(jù)并使用 RF 發(fā)射器進(jìn)行傳輸。
射頻發(fā)射器
具有 433MHz 載波頻率的基于 ASK 的射頻發(fā)射器模塊用于調(diào)制傳感器數(shù)據(jù)并將其傳輸?shù)浇邮掌鳌?/p>
電池
6V 或 9V 電池用于為完整的傳感器節(jié)點(diǎn)提供電源。
LED 閃爍表示傳感器節(jié)點(diǎn)處于活動(dòng)狀態(tài),并且正在傳輸數(shù)據(jù)。
遠(yuǎn)程數(shù)據(jù)接收器只有射頻接收器模塊和微控制器。
射頻接收器
具有 433MHz 載波頻率的基于 ASK 的 RF 接收器模塊用于解調(diào)和接收由傳感器節(jié)點(diǎn)的 RF 發(fā)射器模塊傳輸?shù)臄?shù)據(jù)。
微控制器。Arduino Nano 板用作微控制器,從 RF 接收器模塊獲取數(shù)據(jù)并將其提供給計(jì)算機(jī),計(jì)算機(jī)將其存儲(chǔ)以備將來使用。
接收器中的 LED 閃爍表示接收器處于活動(dòng)狀態(tài)并且正在接收數(shù)據(jù)。
傳感器節(jié)點(diǎn)(發(fā)射機(jī))
圖 2:無線傳感器節(jié)點(diǎn)的電路圖
如圖2中傳感器節(jié)點(diǎn)的電路圖所示,發(fā)射器電路中只有五個(gè)主要組件:
1. 具有三個(gè)接口引腳的傳感器 DHT11:Vcc、Gnd 和數(shù)據(jù)輸出。Vcc 引腳由 Arduino 板提供 5V 電源,Gnd 引腳連接到公共地。數(shù)據(jù)輸出引腳連接到 Arduino Nano 板的數(shù)字引腳 D10。它被上拉電阻R3拉高,如圖2所示。
2. 土壤濕度傳感器 SS1,具有三個(gè)接口引腳:Vcc、Gnd 和 A0。Vcc 引腳由 Arduino Nano 板提供 5V 電源,Gnd 引腳連接到公共地。SIG/A0 引腳是傳感器的模擬輸出,連接到 Arduino Nano 板的模擬輸入引腳 A1。
3. LDR1,它與一個(gè) 10 千歐電阻器 (R2) 以下拉配置連接。它的輸出連接到 Arduino Nano 板的模擬輸入引腳 A0。
4. 433MHz 射頻發(fā)射器模塊 (TX1),具有四個(gè)接口引腳:Vcc、Gnd、Data 和 Antenna。Vcc 引腳連接到 Arduino 板的 5V 輸出,Gnd 連接到公共地。數(shù)據(jù)引腳連接到 Arduino 板的數(shù)字引腳 D11。天線 (ANT.1) 由直徑 1mm、長 35cm 的銅線(單芯)繞制而成,該銅線連接到天線引腳。
5. LED(LED1),通過限流電阻R1連接到數(shù)字引腳D12。
使用 9V 電池或穩(wěn)壓電源為 Arduino 板供電。Arduino 板的 Vin 引腳連接到電池,因此板載 7805 穩(wěn)壓芯片產(chǎn)生 5V 電源,提供給 DHT11 和 433MHz 射頻發(fā)射器模塊(TX1)。
傳感器節(jié)點(diǎn)定期檢測溫度、濕度、土壤濕度和環(huán)境光并傳輸這些值。但是,如框圖所示,可能有任意數(shù)量的傳感器節(jié)點(diǎn)。他們都會(huì)傳遞他們的價(jià)值觀。可能會(huì)發(fā)生多個(gè)節(jié)點(diǎn)同時(shí)傳輸數(shù)據(jù)的情況。另外,接收方如何知道接收到的數(shù)據(jù)來自哪個(gè)節(jié)點(diǎn)?
為了克服這些問題,所有傳感器節(jié)點(diǎn)都在時(shí)間上同步,這樣兩個(gè)節(jié)點(diǎn)就不會(huì)同時(shí)傳輸。但如果發(fā)生這種情況,接收器將接受任何一個(gè)傳感器數(shù)據(jù)。此外,所有節(jié)點(diǎn)都被分配了編號(hào)(例如,從 1 到 N)。在他們傳輸數(shù)據(jù)之前,他們傳輸他們的節(jié)點(diǎn)號(hào)。因此,接收器知道數(shù)據(jù)來自哪個(gè)傳感器節(jié)點(diǎn)。
DHT11 傳感器可提供準(zhǔn)確且經(jīng)過校準(zhǔn)的溫度和濕度測量值。它為兩種測量提供直接的數(shù)字值。Arduino 微控制器讀取這些值并將它們轉(zhuǎn)換為字符形式 (ASCII)。
隨著落在 LDR1 上的環(huán)境光增加,其電阻降低,模擬電壓輸出增加。因此,LDR1 的模擬輸出電壓與環(huán)境光成正比。Arduino 將此模擬電壓轉(zhuǎn)換為數(shù)字值(0 到 1023 之間)并將其映射到 0 到 99% 之間。最后,它將此百分比值轉(zhuǎn)換為 ASCII 字符。
土壤水分傳感器 (SS1) 產(chǎn)生與土壤水分含量成反比的模擬電壓輸出。這意味著它的輸出電壓隨著土壤水分含量的增加而降低。Arduino 將此模擬電壓轉(zhuǎn)換為數(shù)字值(0 到 1023 之間)并將其映射到 0 到 99% 之間。最后,它將此百分比值轉(zhuǎn)換為 ASCII 字符。
然后這些數(shù)據(jù)通過Arduino的引腳D11發(fā)送到RF發(fā)射器模塊(TX1)。
TX1 得到這 10 個(gè)字符的字符串(我們可以稱它為數(shù)據(jù)包),使用 433MHz 載波調(diào)制它并通過天線 ANT1 傳輸它。每次發(fā)送數(shù)據(jù)包時(shí),微控制器都會(huì)使 LED1 閃爍以指示正在發(fā)送數(shù)據(jù)。此循環(huán)在每個(gè)設(shè)定的時(shí)間段(例如 10 秒)后不斷重復(fù)。
遠(yuǎn)程數(shù)據(jù)接收器
圖 3:遠(yuǎn)程數(shù)據(jù)接收器電路圖
如圖3遠(yuǎn)程數(shù)據(jù)接收器電路圖所示,該接收器電路只有三個(gè)主要元件:
1. 433 MHz RF 接收器模塊 RX1,具有四個(gè)接口引腳:Vcc、Gnd、數(shù)據(jù)輸出和天線。Vcc 引腳連接到 Arduino 板的 5V 輸出,Gnd 連接到公共地。數(shù)據(jù)引腳連接到 Arduino 板的數(shù)字引腳 D12。天線(ANT.2)與發(fā)射端相同,連接到天線引腳。
2、這里使用的RTC模塊是DS1307 RTC芯片,有四個(gè)接口引腳:Vcc、Gnd、SDA和SCL。Vcc 引腳連接到 Arduino 板的 5V 輸出,Gnd 連接到公共地。SDA 和 SCL 引腳用于面向 TWI (IIC) 字節(jié)的數(shù)據(jù)傳輸。它們分別連接到 Arduino Nano 板的 A4 (SDA) 和 A5 (SCL) 引腳。
3. LED(LED2),通過限流電阻R4連接到Arduino的數(shù)字引腳D10。
Arduino Nano 板和 RF RX1 模塊通過 USB 電纜從中央存儲(chǔ)系統(tǒng)計(jì)算機(jī)獲得電源。Arduino Nano 板還使用相同的 USB 電纜記錄數(shù)據(jù)并與計(jì)算機(jī)通信。
遠(yuǎn)程數(shù)據(jù)接收器的工作和操作可以通過以下步驟來理解:
接收器首先檢查 RTC 是否正在運(yùn)行并給出正確的日期和時(shí)間。如果 RTC 正在運(yùn)行,Arduino 會(huì)在串行監(jiān)視器上顯示當(dāng)前時(shí)間。
RF RX1 模塊從每個(gè)節(jié)點(diǎn)接收數(shù)據(jù)包。它解調(diào)這些數(shù)據(jù)包并將其提供給 Arduino 微控制器。
微控制器獲取數(shù)據(jù)包并從每個(gè)數(shù)據(jù)包中提取所有四個(gè)值:環(huán)境光、土壤水分含量、溫度和濕度以及節(jié)點(diǎn)編號(hào)。
它作為節(jié)點(diǎn) x 通過 USB 串行發(fā)送以下數(shù)據(jù)到計(jì)算機(jī):
土壤水分:XX %
光:XX%
濕度:XX%
溫度:XX°C
微控制器使 LED2 閃爍以指示正在接收數(shù)據(jù)。
此外,每次 Arduino 從任何傳感器節(jié)點(diǎn)獲取數(shù)據(jù)時(shí),它都會(huì)從 RTC 模塊讀取時(shí)間和日期并將其串行發(fā)送到計(jì)算機(jī)。因此,傳感器節(jié)點(diǎn)數(shù)據(jù)值與時(shí)間和日期一起打印。
帶有時(shí)間和日期的所有四個(gè)傳感器數(shù)據(jù)值按順序顯示在串行監(jiān)視器上。
任何時(shí)候從任何節(jié)點(diǎn)接收到的每個(gè)數(shù)據(jù)包都會(huì)重復(fù)此過程。由于所有節(jié)點(diǎn)在時(shí)間上同步,它們一個(gè)接一個(gè)地依次傳輸數(shù)據(jù)。
接收器從所有節(jié)點(diǎn)一一獲取數(shù)據(jù),并在設(shè)定的時(shí)間段后更新任何節(jié)點(diǎn)的讀數(shù)。
首次打開 RTC 時(shí),必須使用 rtc.adjust ( ) 函數(shù)(在程序中給出的注釋)設(shè)置其當(dāng)前日期和時(shí)間。一旦為 RTC 設(shè)置了日期和時(shí)間,我們必須再次從程序中注釋掉 rtc.adjust ( ) 函數(shù)并再次上傳程序。因此,接收器程序?qū)⒃?Arduino Nano 板中上傳兩次。
有兩個(gè)源代碼:用于傳感器節(jié)點(diǎn)的 Labtesttxnode.ino 代碼和用于接收器的 LabtestRx.ino 代碼。Board1 中的 Labtesttxnode.ino 代碼用于從傳感器收集數(shù)據(jù)并處理數(shù)據(jù)。Board2 中的 LabtestRx.ino 代碼用于在串口監(jiān)視器上顯示節(jié)點(diǎn)傳輸?shù)臅r(shí)間、日期和狀態(tài)。在上傳源代碼之前,您需要包含相關(guān)庫 DHT.zip、RTClib.zip 和 VirtualWire.zip。
構(gòu)建和測試
變送器(傳感器節(jié)點(diǎn))的實(shí)際尺寸 PCB 布局如圖 4 所示,其元件布局如圖 5 所示。在 PCB 上組裝電路后,將 9V DC 連接到 CON1。
圖 4:傳感器節(jié)點(diǎn)的 PCB 布局
圖 5:圖 4 中 PCB 的元件布局
接收器的實(shí)際尺寸 PCB 布局如圖 6 所示,其元件布局如圖 7 所示。 在 PCB 上組裝電路后,將電路板連接到筆記本電腦或臺(tái)式計(jì)算機(jī),以串行方式監(jiān)控從各個(gè)節(jié)點(diǎn)發(fā)送的數(shù)據(jù)在 Arduino IDE 中監(jiān)控。
圖 6:接收器的 PCB 布局
圖 7:圖 6 中 PCB 的元件布局
-
接收器
+關(guān)注
關(guān)注
15文章
2563瀏覽量
73458 -
節(jié)點(diǎn)
+關(guān)注
關(guān)注
0文章
221瀏覽量
24847 -
無線傳感器
+關(guān)注
關(guān)注
15文章
771瀏覽量
99076 -
Arduino
+關(guān)注
關(guān)注
189文章
6493瀏覽量
190191
發(fā)布評論請先 登錄
如何在iMX8MM EVK上啟用紅外接收器?
無線傳感器網(wǎng)絡(luò):智能監(jiān)測的未來
低功耗無線溫度傳感器:適用于遠(yuǎn)程環(huán)境監(jiān)測

USB接收器的安裝和使用
ACE無線溫度電流復(fù)合傳感器

評論