<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > DIY空氣質(zhì)量監測器

DIY空氣質(zhì)量監測器

發(fā)布人:電子資料庫 時(shí)間:2023-03-20 來(lái)源:工程師 發(fā)布文章

DIY空氣質(zhì)量監測器—PM2.5、CO2、VOC、臭氧、溫度和濕度Arduino儀表


有時(shí)你會(huì )覺(jué)得辦公室里的空氣很累,甚至會(huì )覺(jué)得很累?糟糕的空氣質(zhì)量會(huì )導致許多負面的健康影響,也會(huì )導致疲勞、頭痛、注意力不集中、心率加快等。監測空氣質(zhì)量可能比你意識到的更重要。因此,在本教程中,我們將學(xué)習如何建立我們自己的空氣質(zhì)量監測器,能夠測量PM2.5、CO2、VOC、臭氧以及溫度和濕度。

概述

我會(huì )解釋每個(gè)傳感器的工作原理。這個(gè)項目的大腦是一個(gè)Arduino Pro微型板,與2.8英寸Nextion觸摸顯示屏相結合,提供了一個(gè)不錯的用戶(hù)界面。


我們可以實(shí)時(shí)看到所有傳感器的測量值,如果我們點(diǎn)擊某個(gè)特定的傳感器,我們將從該傳感器獲取過(guò)去24小時(shí)的值。還有一個(gè)調光功能,通過(guò)它我們可以降低顯示器的亮度,甚至完全關(guān)閉顯示器。這是很方便的,例如,如果我們想跟蹤我們的臥室在夜間的空氣質(zhì)量。


我們可以在晚上關(guān)閉屏幕,第二天我們可以單獨檢查每個(gè)傳感器的值。

盡管如此,現在我將引導您完成構建它的整個(gè)過(guò)程,并解釋一切是如何工作的。在這個(gè)視頻的最后,你將能夠建立一個(gè)自己的。那么,我們開(kāi)始吧。

PM2.5傳感器–PMS5003

該裝置有四個(gè)主要部件或空氣質(zhì)量傳感器。我們正在使用PMS5003傳感器來(lái)測量PM2.5或空氣中直徑約為2.5微米的顆粒物。顆粒物是空氣污染中最有害的形式,因為它們能深入肺部、血液和大腦,造成許多健康問(wèn)題。


這種傳感器的工作原理是激光散射。該傳感器有一個(gè)風(fēng)扇,可以產(chǎn)生一個(gè)可控的氣流,使環(huán)境中的顆粒通過(guò)聚焦的激光束。


微粒引起光散射,光電二極管檢測到散射,然后在微處理器的幫助下轉換成顆粒物濃度。我發(fā)現這個(gè)傳感器的結果是相當可靠的,它也可以輸出PM1和PM10的值。

二氧化碳傳感器–MH-Z19

接下來(lái),我們將使用MH-Z19傳感器來(lái)測量二氧化碳或二氧化碳。由于人們在呼吸時(shí)排放二氧化碳,室內的二氧化碳濃度很容易變得很高。二氧化碳不僅在高濃度下是危險的,而且還可能導致困倦、疲勞,降低我們的生產(chǎn)力水平等等。


該傳感器采用非色散紅外原理測量空氣中的二氧化碳。一個(gè)紅外光源引導光線(xiàn)通過(guò)一個(gè)充滿(mǎn)我們正在測量的空氣的管子。在紅外光源的另一側,有一個(gè)濾光片和一個(gè)紅外探測器,它測量通過(guò)的紅外線(xiàn)的量。


我們測量的空氣中的二氧化碳氣體分子吸收特定波段的紅外光,同時(shí)讓一些波長(cháng)通過(guò)。因此,二氧化碳水平是根據****的光量和探測器接收到的紅外光量之間的差值來(lái)計算的。這個(gè)傳感器的結果也相當準確。

VOC和臭氧傳感器–MP503和MQ-131

我們使用MP503和MQ131氣體傳感器測量VOC和臭氧。這些是加熱的金屬氧化物傳感器,其工作原理是基于檢測目標氣體存在時(shí)電阻的變化。


一個(gè)特定的電流通過(guò)一個(gè)金屬基底,電阻隨氣體含量的變化而變化。

MQ131傳感器的目標氣體僅僅是臭氧,在正常的家庭中,臭氧可以由產(chǎn)生紫外線(xiàn)的某些空氣凈化器、面部蒸汽機、殺菌燈等產(chǎn)品產(chǎn)生。


另一方面,MP503傳感器有多個(gè)目標氣體,包括酒精、煙霧、異丁烷、甲醛等。VOC代表?yè)]發(fā)性有機化合物,是我們日常使用的洗衣粉、清潔劑、空氣清新劑、油漆、化妝品等的有機排放物。揮發(fā)性有機化合物會(huì )引起許多負面的健康影響,包括頭痛、眼睛刺激、皮膚反應、頭暈等。

DIY Arduino空氣質(zhì)量監測器-電路圖

盡管如此,現在讓我們看一下電路圖,解釋一下所有東西都需要如何連接。


您可以從以下鏈接獲取Arduino空氣質(zhì)量監測器所需的部件:

PMS5003 PM傳感器………………………… / /

MH-Z19二氧化碳傳感器…………………… / /

MQ-131臭氧傳感器………………………… / /

MP503 VOC傳感器 ………………………… / /

DHT22溫度和嗡嗡聲傳感器 ……………… / /

Nextion 2.8英寸顯示器 ………………… / /

DS3231 RTC ……………………………… / /

Arduino Pro迷你版 …………………… / /

Distance / Spacer Nuts M3…………… / /

鏈接是:這些披露。作為亞馬遜的合伙人,我的收入來(lái)自合格的購買(mǎi)。

PM2.5傳感器通過(guò)串行接口與Arduino通信。它的工作電壓是5V,但是接收RX邏輯電平工作在3.3v,所以我們需要一個(gè)分壓器。二氧化碳傳感器和Nextion顯示器也使用串行通信。為了讀取VOC和臭氧傳感器,我們使用Arduino的模擬輸入,而為此使用數字pin

這兩個(gè)晶體管用于激活傳感器加熱器。我們還使用實(shí)時(shí)時(shí)鐘模塊來(lái)跟蹤存儲傳感器值時(shí)的時(shí)間,它使用. 整個(gè)設備通過(guò)一個(gè)小型USB接口提供5V電源。


另請參見(jiàn)


現在如果我們試圖把所有的東西連接在一起,我們會(huì )因為連接太多而變得一團糟。


所以,我們確實(shí)需要一個(gè)PCB來(lái)完成這個(gè)項目。

為Arduino空氣質(zhì)量監測器制作PCB

為了制作這個(gè)項目的PCB,我將使用Altium Designer,它實(shí)際上是這個(gè)視頻的贊助商。


Altium Designer代表了數十年來(lái)致力于創(chuàng )造一個(gè)真正統一的設計環(huán)境的創(chuàng )新和發(fā)展。Altium Designer在功耗和易用性之間實(shí)現了完美的平衡,已成為市場(chǎng)上使用最廣泛的PCB設計解決方案。

現在我將向您展示如何使用Altium Designer為這個(gè)項目設計PCB。我從制作這個(gè)項目的示意圖開(kāi)始。Altium Designer有內置的基本電子元件庫,但更好的是你可以直接從制造商那里搜索元件,這使得為你的項目采購元件非常方便。


作為一個(gè)例子,我發(fā)現Mini-USB連接器使用了這個(gè)制造商部件搜索功能。從這里,您還可以方便地訪(fǎng)問(wèn)與組件相關(guān)的數據,如三維模型、示意圖、尺寸等。

也可以創(chuàng )建自己的組件庫。我自己為這個(gè)項目創(chuàng )建了大部分元件,因為我想為每個(gè)零件創(chuàng )建自己的3D封裝外形,這樣在最后,我將得到整個(gè)PCB的三維模型。要為PCB封裝外形創(chuàng )建3D模型,您可以使用任何CAD軟件,將文件另存為.STEP文件,然后在A(yíng)ltium Designer中導入它們。


一旦我完成了原理圖,我就生成了PCB。我按照我想要的方式排列組件,只需點(diǎn)擊一下自動(dòng)布線(xiàn)功能,軟件就會(huì )自動(dòng)生成所有軌跡。


如果需要,我們可以手動(dòng)創(chuàng )建或調整它們。此外,我們還可以設置設計規則,自動(dòng)布線(xiàn)如何進(jìn)行跟蹤,為每個(gè)網(wǎng)絡(luò )設置不同的寬度等等。在這一點(diǎn)上,我們還可以看到三維的PCB,并導出整個(gè)PCB組件的3D文件,該文件將用于以后為其設計外殼。

盡管如此,我還是要感謝Altium贊助了這樣的教育內容。如果你想了解更多關(guān)于這個(gè)軟件,也嘗試它,你可以看看下面的鏈接。您也可以嘗試基于web的Altium365查看器,用于項目預覽和文件。

Altium designer free trial:Altium 365觀(guān)察器:

以下是Altium Designer項目文件:

好的,所以一旦我完成了PCB,我就生成了Gerber和NC鉆孔文件,并將它們放入一個(gè)zip文件中,所以我準備訂購PCB進(jìn)行制造。


我. 在這里,我們可以簡(jiǎn)單地拖放zip文件,一旦上傳,我們將獲得關(guān)于我們的PCB的所有視覺(jué)信息。


然后我們可以選擇我們想要的性能,并以合理的價(jià)格訂購PCB。

組裝PCB

幾天后,多氯聯(lián)苯就到了。印刷電路板的質(zhì)量很好,一切都和設計完全一樣。


所以,現在我們準備開(kāi)始組裝PCB了。我首先插入和焊接較小的元件,電阻和兩個(gè)晶體管。

然后我們可以把Arduino Pro迷你板焊接到位。但是,首先我們需要焊接引腳頭。請注意,我們不需要所有的引腳,但請確保您不要錯過(guò)我們需要的一個(gè),如A4、A5和DTR引腳。還要確保你有這個(gè)完全相同的Arduino Pro迷你電路板的引腳布局,因為他們有時(shí)可能是不同的。


接下來(lái),我們可以將DHT22傳感器插入到位。為此,首先我們需要將其銷(xiāo)彎曲90度。有時(shí),我也使用Blu-tack粘合劑在焊接時(shí)保持組件的位置。

本工程使用的兩個(gè)電容器是用來(lái)穩定供電的。電路板的電源將來(lái)自一個(gè)小型USB連接器,我們可以連接5V。


在電源連接器的正上方,我們需要焊接兩個(gè)開(kāi)關(guān)。一個(gè)用于打開(kāi)和關(guān)閉設備,另一個(gè)用于將草圖上載到Arduino板時(shí)。然后我們可以插入USB到UART接口的管腳頭,顯示器和PM2.5傳感器,以及VOC、臭氧和二氧化碳傳感器。

接下來(lái),焊接模塊再次,首先我們需要彎曲引腳90度。一旦焊接完成,我們就可以插入電池,即使主電路板斷電,它也能記錄時(shí)間。有了這些,印刷電路板實(shí)際上就完成了,剩下要做的就是準備好電纜,我們將使用這些電纜將PM2.5傳感器和顯示器連接到PCB上。我把插頭頭焊接到傳感器附帶的電纜上,這樣我就可以輕松地將其連接到PCB上。為了將顯示器連接到PCB,我將四根導線(xiàn)焊接到顯示器連接器的背面,然后將它們連接到PCB上。


就這樣,我們的空氣質(zhì)量監測已經(jīng)完成了。當然,我們現在需要做的是做一些盒子或箱子。由于我們從Altium Designer獲得了整個(gè)PCB組件的3D模型,我們可以將其導入CAD軟件并為其設計一個(gè)案例。


為此,我使用SOLIDWORKS,并使最簡(jiǎn)單的情況下,只有兩個(gè)部分和幾個(gè)螺栓和螺母。我決定用透明亞克力做這個(gè)箱子,因為我喜歡PCB和組件的外觀(guān),這也是展示你DIY項目的一個(gè)很好的方式。

您可以關(guān)注并私信,發(fā)送下載DYI空氣質(zhì)量監測器的3D模型鏈接:

為空氣質(zhì)量監測做準備

亞克力,我將使用4毫米滴答,這完全符合顯示器。由于我目前沒(méi)有數控機床,我用一個(gè)簡(jiǎn)單的金屬鋼鋸手工切割形狀。


為了開(kāi)洞展示,我先用鉆頭打了兩個(gè)洞。然后我從一個(gè)小型鋼鋸上穿過(guò)一把刀片,小心地切割出這個(gè)形狀。我用一個(gè)簡(jiǎn)單的銼刀把形狀弄光滑了。然后用一個(gè)3毫米的鉆頭,我做了所有的孔,用來(lái)連接印刷電路板和連接兩塊亞克力板。


在這一點(diǎn)上,我從亞克力上取下了保護膜,說(shuō)實(shí)話(huà),這是一個(gè)相當令人滿(mǎn)意的過(guò)程。為了將PCB連接到底板,我使用了一些M3螺栓和螺母。為了將PM2.5傳感器連接到板上,我們需要M2螺栓。


下一段距離,我們可以用一些螺母把兩個(gè)板連接起來(lái)。通過(guò)使用一個(gè)母的和一個(gè)公的距離螺母,我能夠很容易地得到兩個(gè)板之間所需的距離。


我個(gè)人非常喜歡這個(gè)案子的結果,另外,它的功能是空氣可以很容易地在傳感器周?chē)魍ā?/p>

編程

我們現在就可以上傳程序了。我們可以通過(guò)迷你USB接口為空氣質(zhì)量監測器供電,我們可以從5V USB適配器、5V手機充電器或電源組獲取5V電壓。


為了將程序上載到Arduino Pro迷你板,我們需要一個(gè)USB到串行UART接口,該接口可以連接到編程頭。在連接到計算機USB之前,首先必須打開(kāi)設備的主電源,否則來(lái)自計算機USB(只有500毫安)的電源可能不足以正常工作。上載Arduino草圖時(shí),我們還需要切換PCB上的上載開(kāi)關(guān)。

要將草圖上載到Arduino Pro迷你板,首先在A(yíng)rduino IDE中,我們需要選擇此板,選擇處理器的正確版本,選擇端口并選擇編程方法USBasp ".


一旦我們將代碼上載到Arduino,我們還需要將代碼上載到萊克遜顯示。實(shí)際上,它的控制器上有內置的控件。


所有的圖形,如按鈕、文本、圖像、變量等等,都是由顯示器本身生成和控制的。這個(gè)萊克遜顯示屏有專(zhuān)用萊克遜編輯器,我們可以創(chuàng )建所有這些東西。顯示器和Arduino僅用兩條線(xiàn)進(jìn)行串行通信。Arduino只是將傳感器的值發(fā)送到顯示器,反之亦然,顯示器在需要時(shí)向Arduino發(fā)送數據。

為了上傳顯示程序,我們需要一個(gè)microSD卡,在那里我們可以保存萊克遜編輯


顯示器有一個(gè)讀卡器,我們可以在斷電時(shí)插入microSD卡。然后我們可以給設備加電,程序就會(huì )上傳到顯示器上?,F在我們只要把卡取下來(lái),再打開(kāi)電源,我們的空氣質(zhì)量監測器就可以開(kāi)始工作了。


代碼說(shuō)明

因此,我們正在為每個(gè)傳感器使用庫,這些庫可以在以下鏈接中找到, , , , ,. 為了更好地理解我們如何從每個(gè)傳感器讀取數據,我建議您閱讀庫文檔并嘗試它們的示例。

我們還使用軟件串行庫,因為MH-Z19和PMS5003傳感器都使用串行通信。Arduino和Nextion顯示器也使用串行端口進(jìn)行通信,在本例中,我們使用默認的硬件串行端口。


所以,Arduino讀取傳感器并將數據發(fā)送到Nextion顯示器。這里有一個(gè)例子。

Serial.print("tempV.val=");

Serial.print(temp);

Serial.write(0xff);

Serial.write(0xff);

Serial.write(0xff);

So we have a variable at the nextion display called "tempV" and in order to update it's value we need to send a command to the nextion as following "tempV.val=22". So the variable name, then ".val", then the value, let's say 22. The first two lines of the code do that, and in order the Nextion display to accept this command or actually any command we need to send the three unique "write" commands.

在Nextion顯示程序中,我們有一個(gè)計時(shí)器,它在循環(huán)中運行,就像Arduino代碼循環(huán)一樣,它不斷更新顯示器上的數字。


在這個(gè)計時(shí)器事件中,我們還有一個(gè)代碼,用于根據每個(gè)傳感器的值更改其背景顏色。

在第二頁(yè),我們有波形,它從Arduino存儲的值中獲取值。請注意,您可以找到更多關(guān)于A(yíng)rduino代碼本身的信息,因為代碼的注釋中有解釋。


小時(shí)和Y軸的值也從Arduino獲得。

在波形和主屏幕上的數字上,你可以注意到我們有類(lèi)似的透明對象,在Nextion編輯器中稱(chēng)為"hotstop",它們充當按鈕。如果我們按下波形上的熱停止按鈕,我們可以在事件部分看到它將我們送回"第0頁(yè)"。

總的來(lái)說(shuō),這就是Arduino空氣質(zhì)量監測儀的工作原理。當然,為了完全理解它是如何工作的,你需要學(xué)習和了解每個(gè)傳感器是如何與其庫一起工作的,以及Nextion顯示器是如何工作的。

請注意,對于VOC傳感器,我們只讀取該傳感器的原始數據,而不是ppm或ppb值。只是0到1024的模擬值。較高的值表示存在VOC。

至于臭氧傳感器,為了獲得更精確的輸出,我們必須根據庫的校準示例正確設置setTimeToRead()和setR0()值。然而,較長(cháng)的setTimeToRead意味著(zhù)程序將在采樣時(shí)被阻止,其他一切都將凍結。當然,有辦法解決這個(gè)問(wèn)題。我甚至建議不要使用臭氧傳感器,除非你真的需要它。

我希望你喜歡這個(gè)文章,并學(xué)到一些新的東西。如果你有請考慮,請點(diǎn)贊支持,并隨時(shí)在下面的評論部分提出任何問(wèn)題。

需要Altium Designer文件(電子元件三維模型的項目文件、庫和.STEP文件),DYI空氣質(zhì)量監測器的3D模型(DIY空氣質(zhì)量監測器-Solidwork文件和Step文件),DIY空氣質(zhì)量監測器程序和顯示代碼-(Arduino代碼和Nextion程序)可以關(guān)注,并私信我索取。


*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。



關(guān)鍵詞: 監測器 空氣

相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>