資料介紹
描述

建立無線氣象站是一次很棒的學(xué)習(xí)經(jīng)歷。完成此項(xiàng)目的構(gòu)建后,您將更好地了解無線通信的工作原理、傳感器的工作原理以及 Arduino 平臺(tái)的強(qiáng)大功能。以這個(gè)項(xiàng)目為基礎(chǔ)和獲得的經(jīng)驗(yàn),將來您將能夠輕松構(gòu)建更復(fù)雜的項(xiàng)目。
氣象站是一種使用許多不同傳感器收集與天氣和環(huán)境相關(guān)的數(shù)據(jù)的設(shè)備。我們可以測(cè)量很多東西,比如:
- 溫度
- 濕度
- 風(fēng)
- 氣壓
- 紫外線指數(shù)
- 雨
在我們將要建造的氣象站中,我們將測(cè)量?jī)蓚€(gè)位置的溫度和濕度并顯示當(dāng)前日期和時(shí)間。建立氣象站非常容易。但是,制造商能否制造出具有彩色 TFT 顯示屏和與商業(yè)設(shè)備相匹配的功能的設(shè)備?答案是肯定的!借助開源軟件和硬件的力量,可以輕松構(gòu)建這個(gè)令人印象深刻的氣象站!
該項(xiàng)目由兩部分組成:發(fā)射器和接收器。
發(fā)射器測(cè)量溫度和濕度,并將數(shù)據(jù)無線發(fā)送到接收器。接收器測(cè)量溫度和濕度,接收來自遠(yuǎn)程傳感器的數(shù)據(jù),并在大型彩色 TFT 顯示屏上顯示所有內(nèi)容。
讓我們建立這個(gè)項(xiàng)目!
第 1 步:獲取所有零件

構(gòu)建此項(xiàng)目所需的部分如下:
- Arduino 到期 ? http://edu8s.tv/part/ArduinoDue
- Arduino 超級(jí) ? http://edu8s.tv/part/ArduinoMega
- Arduino Nano ? http://edu8s.tv/part/ArduinoNano
- 3.2" TFT 顯示屏 ? http://edu8s.tv/part/32TFT
- DHT22 ? http://educ8s.tv/part/DHT22
- NRF24L01 ? http://edu8s.tv/part/NRF24L01
- DS3231 RTC ? http://edu8s.tv/part/DS3231
- 小米移動(dòng)電源? http://edu8s.tv/part/Powerbank
該項(xiàng)目的成本約為40美元。如果您使用 Arduino Mega 而不是 Arduino Due,您可以將項(xiàng)目成本降低 5 美元。我選擇使用 Arduino Due 作為接收器,因?yàn)樗俣确浅??,而且?nèi)存很大。隨著我們?yōu)轫?xiàng)目添加更多功能,這將在未來非常有用。
第 2 步:溫濕度傳感器 - DHT22

DHT22 是一種非常流行的溫度和濕度傳感器。它價(jià)格便宜,易于使用,并且規(guī)格聲稱具有良好的精度和準(zhǔn)確性。
DHT 傳感器由兩部分組成:電容式濕度傳感器和熱敏電阻。里面還有一個(gè)芯片,做一些模數(shù)轉(zhuǎn)換,輸出帶有溫度和濕度的數(shù)字信號(hào)。使用任何微控制器都可以輕松讀取數(shù)字信號(hào)。
DHT22的特點(diǎn)
- 低成本
- 3 至 5V 電源和 I/O
- 轉(zhuǎn)換期間使用的最大電流為 2.5mA
- 0-100% 濕度讀數(shù),精度為 2-5%
- -40 至 125°C 溫度讀數(shù) ±0.5°C 精度
- 減緩
與 Arduino 的連接非常簡(jiǎn)單。我們將帶有 + 號(hào)的傳感器引腳連接到 Arduino 的 5V 或 3.3V 輸出。我們將帶有 - 符號(hào)的傳感器引腳連接到 GROUND。最后,我們將 OUT 引腳連接到 Arduino 的任何數(shù)字引腳。
為了在 Arduino 中使用 DHT22 傳感器,我們必須使用 DHT 庫(kù)。
https://github.com/adafruit/DHT-sensor-library
第 3 步:DS3231 實(shí)時(shí)時(shí)鐘模塊

DS3231 實(shí)時(shí)時(shí)鐘模塊顧名思義就是一個(gè)實(shí)時(shí)時(shí)鐘。使用它的電池,它可以保持多年的時(shí)間,因?yàn)樗哂凶畹偷墓摹?/font>
DS3231 是一款低成本、極其精確的 I2C 實(shí)時(shí)時(shí)鐘 (RTC),具有集成的溫度補(bǔ)償晶體振蕩器 (TCXO) 和晶體。該設(shè)備包含電池輸入,并在設(shè)備的主電源中斷時(shí)保持準(zhǔn)確的計(jì)時(shí)。晶體諧振器的集成提高了設(shè)備??的長(zhǎng)期精度,并減少了生產(chǎn)線中的零件數(shù)量。
RTC 維護(hù)秒、分鐘、小時(shí)、星期、日期、月份和年份信息。對(duì)于少于 31 天的月份,月末的日期會(huì)自動(dòng)調(diào)整,包括閏年的更正。時(shí)鐘以 24 小時(shí)制或 12 小時(shí)制運(yùn)行,帶有 AM/PM 指示器。提供了兩個(gè)可編程的時(shí)間警報(bào)和一個(gè)可編程的方波輸出。地址和數(shù)據(jù)通過 I2C 雙向總線串行傳輸。
模組成本極低;它的成本約為 2 美元,包括電池!我們將使用它來保持我們的氣象站項(xiàng)目的時(shí)間。
第 4 步:NRF24L01+:無線模塊

NRF24L01 模塊是一種低成本的雙向收發(fā)器模塊。它將幫助您了解它的工作方式。
第 5 步:構(gòu)建發(fā)送器

讓我們首先構(gòu)建發(fā)射器。
就是這樣,您的發(fā)射器已準(zhǔn)備就緒。現(xiàn)在讓我們繼續(xù)討論接收器。
第 6 步:構(gòu)建接收器

為了構(gòu)建接收器,我們需要以下部分:
- Arduino Due 或 Mega
- DS3231實(shí)時(shí)時(shí)鐘模塊
- DHT22溫濕度傳感器
- NRF24L01+無線模塊
- 3.2" 彩色 TFT 顯示屏
- 面包板
- 7頭針
- 一些電線
首先,我們彎曲 7 個(gè)接頭引腳并將它們放置在一些 Arduino Due 引腳上。我們需要一個(gè)接地,一個(gè)接 3.3V。我們需要兩個(gè) I2C 引腳。我們需要從 6 到 8 的剩余 3 個(gè)數(shù)字引腳。我們還必須將三根電線焊接到 Arduino Due 引腳的硬件 SPI 引腳。我們需要 MOSI、MISO 和 SCK。仔細(xì)檢查圖表。我們將電線連接到插頭引腳,我們準(zhǔn)備好連接顯示器。
連接 DS3231
- Arduino 3.3V 輸出上的 VCC 引腳
- GND 引腳連接到 Arduino 的 GND 和
- SDA(串行數(shù)據(jù)線)引腳到 Arduino 的 SDA 引腳和
- SCL(串行時(shí)鐘線)引腳到 Arduino 的 SCL 引腳
連接 DHT22 傳感器
- Arduino 3.3V 輸出上的 VCC 引腳
- GND 引腳連接到 Arduino 的 GND 和
- 輸出引腳到 Arduino 的數(shù)字引腳 8
連接 NRF24L01 模塊
- GND 引腳到 Arduino 的 GND
- VCC 引腳到 Arduino 3.3V
- Arduino 數(shù)字引腳 6 的第 3 個(gè)引腳
- Arduino 數(shù)字引腳 7 的第 4 個(gè)引腳
- 我們焊接的第 5 個(gè)引腳到 SCK 引腳
- 我們焊接的第 6 個(gè)引腳到 MOSI 引腳
- 我們焊接的 MISO 引腳的第 7 個(gè)引腳
第 7 步:發(fā)送器代碼

首先,我們必須下載 RF24 庫(kù),以使我們?cè)谑褂?NRF24L01 無線模塊時(shí)更輕松。我們還需要 DHT22 傳感器的 DHT 庫(kù)。
- DHT22 庫(kù):https ://github.com/adafruit/DHT-sensor-library
讓我們先看看發(fā)射器代碼。它發(fā)出一個(gè)簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu),其中包含兩個(gè)浮點(diǎn)數(shù),即溫度和濕度。
為了建立通信鏈接,我們必須在兩個(gè)模塊之間創(chuàng)建一個(gè)“管道”。該管道需要有一個(gè)地址。兩個(gè)模塊都必須從同一個(gè)管道中寫入和讀取才能進(jìn)行通信。這是我們?cè)诖a中定義的第一件事。我們將管道地址設(shè)置為“0”。接下來,我們定義要與其他模塊通信的通道。NRF24L01 芯片支持 126 個(gè)不同的通道。兩個(gè)模塊需要使用相同的通道才能相互通信。在此示例中,我使用通道 115。接下來,我定義我要使用模塊提供的最大發(fā)射功率。它使用更多功率,但擴(kuò)展了通信范圍。接下來我們定義傳輸?shù)臄?shù)據(jù)速率。我將其設(shè)置為 250Kbs,這是可能的最低數(shù)據(jù)速率,以實(shí)現(xiàn)更好的范圍。
在循環(huán)函數(shù)中,我們從傳感器讀取溫度和濕度值,將數(shù)據(jù)保存到數(shù)據(jù)結(jié)構(gòu)中,然后通過將數(shù)據(jù)結(jié)構(gòu)寫入管道來發(fā)送數(shù)據(jù)結(jié)構(gòu)。而已。您可以在本教程中找到附加的代碼。
第 8 步:接收方代碼

現(xiàn)在讓我們看看接收器代碼。我們需要 4 個(gè)庫(kù)。首先,我們必須從此鏈接下載用于顯示的庫(kù):
顯示庫(kù):https ://github.com/Bodmer/TFT_HX8357_Due
下載庫(kù)后,您必須打開 User_Setup.h 文件。注釋第 13 行并取消注釋第 14 行,因?yàn)槲覀兊娘@示器使用的是 HX8357C 驅(qū)動(dòng)程序。現(xiàn)在我們可以繼續(xù)使用其他 3 個(gè)庫(kù)。我們需要一個(gè)庫(kù)用于實(shí)時(shí)時(shí)鐘,一個(gè)用于 DHT22 傳感器,最后一個(gè)用于無線模塊。
- NRF24L01:https ://github.com/TMRh20/RF24
讓我們看一下代碼。如果尚未設(shè)置,我們要做的第一件事就是將時(shí)間設(shè)置到實(shí)時(shí)時(shí)鐘模塊。為了做到這一點(diǎn),在setRTCTime
函數(shù)中輸入當(dāng)前日期和時(shí)間,取消注釋第setRTCTime
54 行的函數(shù)調(diào)用并將程序上傳到 Arduino。現(xiàn)在時(shí)間已定。但是我們必須再次注釋setRTCTime
該函數(shù)的調(diào)用并再次將程序上傳到Arduino。
接收器的代碼工作如下。在設(shè)置函數(shù)中,我們初始化所有傳感器和模塊并打印用戶界面。然后,在循環(huán)功能中,我們不斷檢查新的無線數(shù)據(jù)。如果有新數(shù)據(jù),我們會(huì)將這些數(shù)據(jù)保存在變量中并在顯示器上打印出來。我們每分鐘讀取一次溫度和濕度,并且僅在值發(fā)生變化時(shí)才更新顯示。通過這種方式,我們可以進(jìn)一步減少顯示屏的閃爍!我還準(zhǔn)備了一個(gè)以華氏度顯示溫度的代碼版本。您可以在本教程中找到所附代碼的兩個(gè)版本。
第 9 步:測(cè)試項(xiàng)目

啟動(dòng)所有設(shè)備并查看一切是否按預(yù)期工作的最后一步。謝謝參觀!
- Arduino在線氣象站(NodeMCU)
- Arduino氣象站
- Arduino UNO迷你氣象站
- 使用Arduino Nano的迷你氣象站
- 使用Arduino的IoT無線氣象站 0次下載
- Sigfox和Arduino氣象站
- 與Sigfox連接并使用Arduino的氣象站
- 基于Arduino的無線氣象站 0次下載
- Arduino物聯(lián)網(wǎng)氣象站
- 基于Arduino UNO的氣象站 2次下載
- Arduino氣象站項(xiàng)目
- 帶有Arduino的Lora氣象站
- 使用Arduino和NodeMCU的氣象站
- 使用NRF24L01、DHT11 DHT22的Arduino無線氣象站
- Arduino氣象站的設(shè)置開源分享
- 基于幾何的泰森多邊形來生成形體骨架 1004次閱讀
- 4G氣象站的設(shè)計(jì)與實(shí)現(xiàn) 991次閱讀
- 如何利用ESP32實(shí)現(xiàn)太陽能氣象站的設(shè)計(jì) 4646次閱讀
- 如何利用ESP8266實(shí)現(xiàn)防雨物聯(lián)網(wǎng)氣象站的設(shè)計(jì) 5136次閱讀
- 如何利用粒子光子把你的雨傘變成氣象站 1532次閱讀
- 如何使用ESP32創(chuàng)建一個(gè)氣象站 4040次閱讀
- 利用Arduino Nano 33 IoT構(gòu)建的微型互聯(lián)網(wǎng)氣象站 3654次閱讀
- 如何手動(dòng)制作一個(gè)風(fēng)速儀 6100次閱讀
- 基于樹莓派組成的可隨身攜帶氣象站設(shè)計(jì)方案 2989次閱讀
- 如何使用兩個(gè)dht傳感器及HC12模塊制作遠(yuǎn)程氣象站? 2977次閱讀
- 基于創(chuàng)建帶有空氣質(zhì)量傳感器的室內(nèi)氣象站 2358次閱讀
- dfrobotDIY智能氣象站套件簡(jiǎn)介 1756次閱讀
- 基于ARM微處理器和Linux的無線氣象數(shù)據(jù)通信系統(tǒng) 1181次閱讀
- 基于STM32的自動(dòng)氣象站控制模塊設(shè)計(jì) 8676次閱讀
- arduino是什么以及arduino能干什么 4.5w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論