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