資料介紹
描述
在開(kāi)始項(xiàng)目之前...
如果您想制作空氣質(zhì)量監(jiān)測(cè)器,或者想嘗試空氣質(zhì)量傳感器,或者只是對(duì)可用于與 Arduino 接口的各種傳感器感到好奇,那么這個(gè)項(xiàng)目應(yīng)該非常適合您。它主要涉及一個(gè)灰塵傳感器作為輸入到 Arduino 兼容板的輸入。這種特殊的傳感器在外殼內(nèi)的多個(gè)組件上運(yùn)行,例如:紅外 LED、一組鏡頭、光電二極管檢測(cè)器和電磁屏蔽。所有這些部分協(xié)同工作,通過(guò)測(cè)量灰塵濃度來(lái)讀取空氣質(zhì)量。大氣中的顆粒物水平(PM 水平)是通過(guò)計(jì)算給定時(shí)間單位中的低脈沖占用時(shí)間(LPO 時(shí)間)來(lái)測(cè)量的,其中 LPO 時(shí)間與 PM 濃度成正比。所以,該傳感器可以為空氣凈化器系統(tǒng)提供可靠的數(shù)據(jù),在該系統(tǒng)中,它可以響應(yīng)直徑小于 1μm 的 PM 水平。對(duì)于這個(gè)項(xiàng)目,您需要的部件包括:
- 1 Grove - 灰塵傳感器 (PPD42NS)
- 1 Arduino(本例使用Seeeduino v4.2)
- 3 根跳線(公對(duì)公)
- 1 個(gè) USB 數(shù)據(jù)線(取決于 Arduino)
贊助商鏈接:
請(qǐng)在此處訪問(wèn)此鏈接以獲取 NextPCB 的特別優(yōu)惠。
安裝電路
這個(gè)項(xiàng)目的電路非常簡(jiǎn)單,你甚至根本不需要面包板。輸入灰塵傳感器通過(guò)三根跳線直接連接到 Arduino 微控制器。作為開(kāi)始前的預(yù)防措施,請(qǐng)通過(guò) Arduino 移除任何電源。然后,通過(guò) JST 連接器將灰塵傳感器上的黃線(信號(hào))連接到 Arduino 板上的 D8(數(shù)字引腳 8)。之后,將傳感器 JST 連接器的紅線 (VCC/+) 連接到 Arduino 電源引腳行上的 5v(+5 伏)。最后,將 Grove Dust Sensor 的黑線 (GND/-) 再次通過(guò) JST 連接到 Arduino 的 GND (-) 引腳之一。這就是關(guān)于這個(gè)項(xiàng)目的硬件設(shè)置!
關(guān)于代碼
該代碼由多個(gè)函數(shù)組成,這在 Arduino 中非常有用,尤其是在處理復(fù)雜的傳感器和接口時(shí)。此代碼首先聲明此傳感器的引腳,即 D8(數(shù)字引腳 8)為整數(shù)。對(duì)于接下來(lái)的兩行,我們聲明擴(kuò)展大小變量?jī)H用于數(shù)字存儲(chǔ)。稍后可以使用它為該變量分配值或讀數(shù)。我們可以將數(shù)據(jù)寫(xiě)入和存儲(chǔ)在無(wú)符號(hào)長(zhǎng)變量中,例如來(lái)自傳感器的數(shù)據(jù)、數(shù)學(xué)計(jì)算、隨時(shí)間變化的讀數(shù)等。這兩行中的變量是:?持續(xù)時(shí)間和?開(kāi)始時(shí)間。繼續(xù)前進(jìn),還有另外兩個(gè)無(wú)符號(hào)長(zhǎng)變量,當(dāng)前分配了一個(gè)讀數(shù)(sampletime_ms和 lowpulseoccupancy),它將在代碼中進(jìn)一步使用。這些變量的好處是它們可以攜帶更多數(shù)據(jù),因?yàn)樗鼈兙哂袕V泛的規(guī)模,被證明在收集數(shù)據(jù)方面很有用。以下?浮點(diǎn)?變量(比率?和濃度)用于十進(jìn)制數(shù),因此在聲明了預(yù)設(shè)值的情況下,它可用于稍后在此草圖中讀取十進(jìn)制數(shù)。現(xiàn)在,我們進(jìn)入void 設(shè)置?部分,從設(shè)置串行通信開(kāi)始,以 9600 波特的速率從傳感器輸出數(shù)據(jù)。接下來(lái)是下一行,我們將 D8(數(shù)字引腳 8)設(shè)置為輸入引腳,以便將來(lái)自傳感器的數(shù)據(jù)發(fā)送到 Arduino 微控制器。之后,我們命令變量 ?starttime, 以毫秒為單位讀取當(dāng)前時(shí)間,以便變量可以參與計(jì)時(shí),更進(jìn)一步。這就是設(shè)置部分,現(xiàn)在是時(shí)候進(jìn)入void循環(huán)部分了。void 循環(huán)的第一行?是高級(jí) I/O 函數(shù)之一,它讀取脈沖,無(wú)論是 HIGH 還是 LOW(1 或 0)。在此代碼中,pulseIn函數(shù)設(shè)置為 LOW,因此該函數(shù)將開(kāi)始計(jì)時(shí) LOW 脈沖,直到它變?yōu)?HIGH。在該函數(shù)之后,收集的時(shí)間將分配給持續(xù)時(shí)間的無(wú)符號(hào)長(zhǎng)變量,以微秒為單位讀取時(shí)間。現(xiàn)在,我們聲明變量lowpulseoccupancy 讀取它自己的讀數(shù),加上變量duration的讀數(shù)。現(xiàn)在我們已經(jīng)來(lái)到了代碼的主要部分,我們?cè)谶@里計(jì)算原始數(shù)據(jù)并將其轉(zhuǎn)換為我們可以讀取的單位。if 語(yǔ)句說(shuō),如果變量starttime減去當(dāng)前的計(jì)數(shù)時(shí)間,大于或等于變量sampletime_ms的值(2000 毫秒),則它被編程為執(zhí)行if 語(yǔ)句下面的其余代碼。隨后,我們利用我們過(guò)去聲明的變量之一,通過(guò)使用變量ratio?將其分配給一個(gè)值,即lowpulseoccupancy, ?我們遇到了,并且,通過(guò)一點(diǎn)數(shù)學(xué),我們可以為該變量分配一個(gè)新的讀數(shù)ratio。因此,variable ratio等于lowpulseoccupancy(添加到變量duration的讀數(shù)中)除以變量sampletime_ms?乘以 10,得到整數(shù)百分比。隨后,我們將計(jì)算出的值轉(zhuǎn)換為單位pcs/0.01cf。我們將為此使用的變量將被命名為?濃度。開(kāi)始,濃度由 1.1 乘以可變比率的值組成 ?到 3 的冪。然后,將該連續(xù)方程減去 3.8,乘以可變比率?的 2 次冪。再將其加上 520,再次乘以可變比率,最后,將連續(xù)讀數(shù)相加到 0.62。草圖中的pow()函數(shù)用于將整數(shù)、值或變量提升到其他事物的冪。當(dāng)我們結(jié)束這段代碼時(shí),我們將讀數(shù)打印到串行監(jiān)視器中,在我們打印變量濃度之前,在串行監(jiān)視器上使用短語(yǔ)“ Concentration = ” ,因?yàn)樵撟兞繉?lái)自傳感器的原始數(shù)據(jù)轉(zhuǎn)換為合適的測(cè)量單位。此外,在串行監(jiān)視器的同一行上,我們打印該值的單位 (pcs/0.01cf) 以完全結(jié)束讀數(shù)。因此,串行監(jiān)視器上的最終讀數(shù)將顯示為“濃度 = (讀數(shù)) pcs/0.01cf”。最后,變量lowpulseoccupancy 重置為 0,以便根據(jù)void 循環(huán)獲得新的讀數(shù),以及變量starttime(當(dāng)前時(shí)間)。最后,這些行包含了我們的代碼,它的長(zhǎng)度很短,但是當(dāng)它被剝離時(shí)很復(fù)雜。
?
- Arduino自動(dòng)密碼輸入器
- 使用Arduino作為車(chē)庫(kù)停車(chē)傳感器
- 與Arduino Uno接口超聲波傳感器開(kāi)源
- 帶Arduino的MaxSonar EZ0傳感器開(kāi)源
- 如何將Arduino板與不同的傳感器連接
- 開(kāi)源PLC輸入板原理圖 3次下載
- 帶有Arduino Nano的輸入輸出板開(kāi)源
- Cervus Arduino Leonardo兼容開(kāi)源
- 用于Arduino微控制器的多路交流輸入板
- 接口智能數(shù)字量輸入傳感器IRM-S04DIF RJ45 8次下載
- 可兼容Arduino的聲音傳感器模塊LM386 5次下載
- GP2Y1010AUOF灰塵傳感器的使用說(shuō)明 39次下載
- 多個(gè)傳感器的輸入的設(shè)計(jì)指南 4次下載
- 結(jié)合多個(gè)傳感器的輸入,產(chǎn)生更好的整體結(jié)果 13次下載
- 灰塵傳感器規(guī)格書(shū) 20次下載
- 采用數(shù)字微波傳感器和Arduino控制板實(shí)現(xiàn)人體探測(cè)系統(tǒng) 1995次閱讀
- 采用數(shù)字微波傳感器、繼電器和Arduino控制板的自動(dòng)光控系統(tǒng) 833次閱讀
- 如何使用Arduino和LDR傳感器實(shí)現(xiàn)LCD液晶屏亮度的自動(dòng)調(diào)節(jié) 6529次閱讀
- 如何將微小的傳感器輸出訊號(hào)轉(zhuǎn)換為ADC輸入電壓? 1993次閱讀
- 微雪電子傾斜傳感器Tilt Sensor介紹 2524次閱讀
- 灰塵傳感器工作原理及應(yīng)用 5467次閱讀
- dfrobotSDB傳感器驅(qū)動(dòng)板簡(jiǎn)介 2085次閱讀
- dfrobotIO傳感器擴(kuò)展板 V6介紹 2299次閱讀
- 傳感器輸入信號(hào)的幾種形式 2.8w次閱讀
- 數(shù)字輸入串行器的工作原理解析 4263次閱讀
- 數(shù)字傳感器和模擬傳感器的區(qū)別 2.5w次閱讀
- Ameya360物聯(lián)網(wǎng)傳感器節(jié)點(diǎn)解決方案的模擬輸入通路 3310次閱讀
- 要實(shí)現(xiàn)自動(dòng)駕駛,如何應(yīng)對(duì)像頭和雷達(dá)等傳感器上的灰塵與泥土? 7304次閱讀
- 熱電堆檢測(cè)器工作原理 非分散紅外氣體傳感器電路 4.3w次閱讀
- 傳感器有哪些特性_傳感器誤差分析 1.2w次閱讀
下載排行
本周
- 1ADI高性能電源管理解決方案
- 2.43 MB | 445次下載 | 免費(fèi)
- 2免費(fèi)開(kāi)源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 133次下載 | 1 積分
- 3基于STM32單片機(jī)智能手環(huán)心率計(jì)步器體溫顯示設(shè)計(jì)
- 0.10 MB | 120次下載 | 免費(fèi)
- 4如何正確測(cè)試電源的紋波
- 0.36 MB | 3次下載 | 免費(fèi)
- 5550W充電機(jī)原理圖
- 0.13 MB | 2次下載 | 6 積分
- 6USB的PD快充協(xié)議電壓誘騙控制器FS312A中文手冊(cè)
- 1.51 MB | 2次下載 | 免費(fèi)
- 7USB Type_C PD快充協(xié)議智能觸發(fā)芯片F(xiàn)S8025B應(yīng)用手冊(cè)
- 1.48 MB | 1次下載 | 免費(fèi)
- 8基于三相二電平PFC和隔離DC-DC轉(zhuǎn)換器的11kW雙向電池充電器
- 618.10 KB | 1次下載 | 免費(fèi)
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 445次下載 | 免費(fèi)
- 2免費(fèi)開(kāi)源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 133次下載 | 1 積分
- 3基于STM32單片機(jī)智能手環(huán)心率計(jì)步器體溫顯示設(shè)計(jì)
- 0.10 MB | 120次下載 | 免費(fèi)
- 4使用單片機(jī)實(shí)現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
- 2.96 MB | 44次下載 | 免費(fèi)
- 53314A函數(shù)發(fā)生器維修手冊(cè)
- 16.30 MB | 31次下載 | 免費(fèi)
- 6美的電磁爐維修手冊(cè)大全
- 1.56 MB | 22次下載 | 5 積分
- 7使用TL431設(shè)計(jì)電源
- 0.67 MB | 8次下載 | 免費(fèi)
- 8感應(yīng)筆電路圖
- 0.06 MB | 8次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935119次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73807次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65987次下載 | 10 積分
評(píng)論
查看更多