資料介紹
描述
在開始項目之前...
如果您想制作空氣質量監測器,或者想嘗試空氣質量傳感器,或者只是對可用于與 Arduino 接口的各種傳感器感到好奇,那么這個項目應該非常適合您。它主要涉及一個灰塵傳感器作為輸入到 Arduino 兼容板的輸入。這種特殊的傳感器在外殼內的多個組件上運行,例如:紅外 LED、一組鏡頭、光電二極管檢測器和電磁屏蔽。所有這些部分協同工作,通過測量灰塵濃度來讀取空氣質量。大氣中的顆粒物水平(PM 水平)是通過計算給定時間單位中的低脈沖占用時間(LPO 時間)來測量的,其中 LPO 時間與 PM 濃度成正比。所以,該傳感器可以為空氣凈化器系統提供可靠的數據,在該系統中,它可以響應直徑小于 1μm 的 PM 水平。對于這個項目,您需要的部件包括:
- 1 Grove - 灰塵傳感器 (PPD42NS)
- 1 Arduino(本例使用Seeeduino v4.2)
- 3 根跳線(公對公)
- 1 個 USB 數據線(取決于 Arduino)
贊助商鏈接:
安裝電路
這個項目的電路非常簡單,你甚至根本不需要面包板。輸入灰塵傳感器通過三根跳線直接連接到 Arduino 微控制器。作為開始前的預防措施,請通過 Arduino 移除任何電源。然后,通過 JST 連接器將灰塵傳感器上的黃線(信號)連接到 Arduino 板上的 D8(數字引腳 8)。之后,將傳感器 JST 連接器的紅線 (VCC/+) 連接到 Arduino 電源引腳行上的 5v(+5 伏)。最后,將 Grove Dust Sensor 的黑線 (GND/-) 再次通過 JST 連接到 Arduino 的 GND (-) 引腳之一。這就是關于這個項目的硬件設置!
關于代碼
該代碼由多個函數組成,這在 Arduino 中非常有用,尤其是在處理復雜的傳感器和接口時。此代碼首先聲明此傳感器的引腳,即 D8(數字引腳 8)為整數。對于接下來的兩行,我們聲明擴展大小變量僅用于數字存儲。稍后可以使用它為該變量分配值或讀數。我們可以將數據寫入和存儲在無符號長變量中,例如來自傳感器的數據、數學計算、隨時間變化的讀數等。這兩行中的變量是:?持續時間和?開始時間。繼續前進,還有另外兩個無符號長變量,當前分配了一個讀數(sampletime_ms和 lowpulseoccupancy),它將在代碼中進一步使用。這些變量的好處是它們可以攜帶更多數據,因為它們具有廣泛的規模,被證明在收集數據方面很有用。以下?浮點?變量(比率?和濃度)用于十進制數,因此在聲明了預設值的情況下,它可用于稍后在此草圖中讀取十進制數。現在,我們進入void 設置?部分,從設置串行通信開始,以 9600 波特的速率從傳感器輸出數據。接下來是下一行,我們將 D8(數字引腳 8)設置為輸入引腳,以便將來自傳感器的數據發送到 Arduino 微控制器。之后,我們命令變量 ?starttime, 以毫秒為單位讀取當前時間,以便變量可以參與計時,更進一步。這就是設置部分,現在是時候進入void循環部分了。void 循環的第一行?是高級 I/O 函數之一,它讀取脈沖,無論是 HIGH 還是 LOW(1 或 0)。在此代碼中,pulseIn函數設置為 LOW,因此該函數將開始計時 LOW 脈沖,直到它變為 HIGH。在該函數之后,收集的時間將分配給持續時間的無符號長變量,以微秒為單位讀取時間。現在,我們聲明變量lowpulseoccupancy 讀取它自己的讀數,加上變量duration的讀數。現在我們已經來到了代碼的主要部分,我們在這里計算原始數據并將其轉換為我們可以讀取的單位。if 語句說,如果變量starttime減去當前的計數時間,大于或等于變量sampletime_ms的值(2000 毫秒),則它被編程為執行if 語句下面的其余代碼。隨后,我們利用我們過去聲明的變量之一,通過使用變量ratio?將其分配給一個值,即lowpulseoccupancy, ?我們遇到了,并且,通過一點數學,我們可以為該變量分配一個新的讀數ratio。因此,variable ratio等于lowpulseoccupancy(添加到變量duration的讀數中)除以變量sampletime_ms?乘以 10,得到整數百分比。隨后,我們將計算出的值轉換為單位pcs/0.01cf。我們將為此使用的變量將被命名為?濃度。開始,濃度由 1.1 乘以可變比率的值組成 ?到 3 的冪。然后,將該連續方程減去 3.8,乘以可變比率?的 2 次冪。再將其加上 520,再次乘以可變比率,最后,將連續讀數相加到 0.62。草圖中的pow()函數用于將整數、值或變量提升到其他事物的冪。當我們結束這段代碼時,我們將讀數打印到串行監視器中,在我們打印變量濃度之前,在串行監視器上使用短語“ Concentration = ” ,因為該變量將來自傳感器的原始數據轉換為合適的測量單位。此外,在串行監視器的同一行上,我們打印該值的單位 (pcs/0.01cf) 以完全結束讀數。因此,串行監視器上的最終讀數將顯示為“濃度 = (讀數) pcs/0.01cf”。最后,變量lowpulseoccupancy 重置為 0,以便根據void 循環獲得新的讀數,以及變量starttime(當前時間)。最后,這些行包含了我們的代碼,它的長度很短,但是當它被剝離時很復雜。
?
- Arduino自動密碼輸入器
- 使用Arduino作為車庫停車傳感器
- 與Arduino Uno接口超聲波傳感器開源
- 帶Arduino的MaxSonar EZ0傳感器開源
- 如何將Arduino板與不同的傳感器連接
- 開源PLC輸入板原理圖 3次下載
- 帶有Arduino Nano的輸入輸出板開源
- Cervus Arduino Leonardo兼容開源
- 用于Arduino微控制器的多路交流輸入板
- 接口智能數字量輸入傳感器IRM-S04DIF RJ45 8次下載
- 可兼容Arduino的聲音傳感器模塊LM386 6次下載
- GP2Y1010AUOF灰塵傳感器的使用說明 39次下載
- 多個傳感器的輸入的設計指南 4次下載
- 結合多個傳感器的輸入,產生更好的整體結果 13次下載
- 灰塵傳感器規格書 20次下載
- 傳感器靜態標定的主要步驟是什么 1552次閱讀
- 采用數字微波傳感器和Arduino控制板實現人體探測系統 2202次閱讀
- 采用數字微波傳感器、繼電器和Arduino控制板的自動光控系統 969次閱讀
- 如何使用Arduino和LDR傳感器實現LCD液晶屏亮度的自動調節 7185次閱讀
- 如何將微小的傳感器輸出訊號轉換為ADC輸入電壓? 2130次閱讀
- 微雪電子傾斜傳感器Tilt Sensor介紹 2679次閱讀
- 灰塵傳感器工作原理及應用 5576次閱讀
- dfrobotSDB傳感器驅動板簡介 2293次閱讀
- dfrobotIO傳感器擴展板 V6介紹 2463次閱讀
- 傳感器輸入信號的幾種形式 2.9w次閱讀
- 數字輸入串行器的工作原理解析 4508次閱讀
- 數字傳感器和模擬傳感器的區別 2.5w次閱讀
- Ameya360物聯網傳感器節點解決方案的模擬輸入通路 3399次閱讀
- 熱電堆檢測器工作原理 非分散紅外氣體傳感器電路 4.3w次閱讀
- 傳感器有哪些特性_傳感器誤差分析 1.2w次閱讀
下載排行
本周
- 1AN158 GD32VW553 Wi-Fi開發指南
- 1.51MB | 2次下載 | 免費
- 2嵌入式軟件開發符合ISO 26262 功能安全標準
- 1.61 MB | 1次下載 | 免費
- 3AN095 提高GD32溫度傳感器使用精度的方法
- 631.03KB | 1次下載 | 免費
- 4PZT驅動開關電路
- 0.09 MB | 1次下載 | 免費
- 5模擬電路仿真實現
- 2.94MB | 1次下載 | 免費
- 6PCB繪制基礎知識
- 2.44MB | 1次下載 | 免費
- 7電子線路板及仿真實現
- 1.54MB | 1次下載 | 免費
- 8AN4873-使用PIC單片機的集成運算放大器測量水中的總溶解固體
- 591.02KB | 1次下載 | 免費
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 452次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 139次下載 | 1 積分
- 3基于STM32單片機智能手環心率計步器體溫顯示設計
- 0.10 MB | 132次下載 | 免費
- 4美的電磁爐維修手冊大全
- 1.56 MB | 24次下載 | 5 積分
- 5如何正確測試電源的紋波
- 0.36 MB | 19次下載 | 免費
- 6感應筆電路圖
- 0.06 MB | 10次下載 | 免費
- 7LZC3106G高性能諧振控制器中文手冊
- 1.29 MB | 9次下載 | 1 積分
- 8萬用表UT58A原理圖
- 0.09 MB | 9次下載 | 5 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論
查看更多