電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>灰塵傳感器作為輸入到Arduino兼容板的輸入開源

灰塵傳感器作為輸入到Arduino兼容板的輸入開源

2022-10-26 | zip | 0.04 MB | 次下載 | 免費(fèi)

資料介紹

描述

在開始項(xiàng)目之前...

?
pYYBAGNYhjKACRuWAAYLnv4G3Pg506.jpg
?
1 / 2
?

如果您想制作空氣質(zhì)量監(jiān)測器,或者想嘗試空氣質(zhì)量傳感器,或者只是對可用于與 Arduino 接口的各種傳感器感到好奇,那么這個(gè)項(xiàng)目應(yīng)該非常適合您。它主要涉及一個(gè)灰塵傳感器作為輸入到 Arduino 兼容板的輸入。這種特殊的傳感器在外殼內(nèi)的多個(gè)組件上運(yùn)行,例如:紅外 LED、一組鏡頭、光電二極管檢測器和電磁屏蔽。所有這些部分協(xié)同工作,通過測量灰塵濃度來讀取空氣質(zhì)量。大氣中的顆粒物水平(PM 水平)是通過計(jì)算給定時(shí)間單位中的低脈沖占用時(shí)間(LPO 時(shí)間)來測量的,其中 LPO 時(shí)間與 PM 濃度成正比。所以,該傳感器可以為空氣凈化器系統(tǒng)提供可靠的數(shù)據(jù),在該系統(tǒng)中,它可以響應(yīng)直徑小于 1μm 的 PM 水平。對于這個(gè)項(xiàng)目,您需要的部件包括:

  • 1 Grove - 灰塵傳感器 (PPD42NS)
  • 1 Arduino(本例使用Seeeduino v4.2)
  • 3 根跳線(公對公)
  • 1 個(gè) USB 數(shù)據(jù)線(取決于 Arduino)

贊助商鏈接:

在此處訪問此鏈接以獲取 NextPCB 的特別優(yōu)惠。

poYBAGNYhjWARKdMAAEzCg15zmk882.png
?

安裝電路

?
?
?
?
poYBAGNYhjeAODZEAABlkYgi--U093.jpg
?
1 / 2
?

這個(gè)項(xiàng)目的電路非常簡單,你甚至根本不需要面包板。輸入灰塵傳感器通過三根跳線直接連接到 Arduino 微控制器作為開始前的預(yù)防措施,請通過 Arduino 移除任何電源。然后,通過 JST 連接器將灰塵傳感器上的黃線(信號)連接到 Arduino 板上的 D8(數(shù)字引腳 8)。之后,將傳感器 JST 連接器的紅線 (VCC/+) 連接到 Arduino 電源引腳行上的 5v(+5 伏)。最后,將 Grove Dust Sensor 的黑線 (GND/-) 再次通過 JST 連接到 Arduino 的 GND (-) 引腳之一。這就是關(guān)于這個(gè)項(xiàng)目的硬件設(shè)置!

關(guān)于代碼

該代碼由多個(gè)函數(shù)組成,這在 Arduino 中非常有用,尤其是在處理復(fù)雜的傳感器和接口時(shí)。此代碼首先聲明此傳感器的引腳,即 D8(數(shù)字引腳 8)為整數(shù)。對于接下來的兩行,我們聲明擴(kuò)展大小變量僅用于數(shù)字存儲。稍后可以使用它為該變量分配值或讀數(shù)。我們可以將數(shù)據(jù)寫入和存儲在無符號長變量中,例如來自傳感器的數(shù)據(jù)、數(shù)學(xué)計(jì)算、隨時(shí)間變化的讀數(shù)等。這兩行中的變量是:?持續(xù)時(shí)間和?開始時(shí)間。繼續(xù)前進(jìn),還有另外兩個(gè)無符號長變量,當(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è)置串行通信開始,以 9600 波特的速率從傳感器輸出數(shù)據(jù)。接下來是下一行,我們將 D8(數(shù)字引腳 8)設(shè)置為輸入引腳,以便將來自傳感器的數(shù)據(jù)發(fā)送到 Arduino 微控制器。之后,我們命令變量 ?starttime, 以毫秒為單位讀取當(dāng)前時(shí)間,以便變量可以參與計(jì)時(shí),更進(jìn)一步。這就是設(shè)置部分,現(xiàn)在是時(shí)候進(jìn)入void循環(huán)部分了。void 循環(huán)的第一行?是高級 I/O 函數(shù)之一,它讀取脈沖,無論是 HIGH 還是 LOW(1 或 0)。在此代碼中,pulseIn函數(shù)設(shè)置為 LOW,因此該函數(shù)將開始計(jì)時(shí) LOW 脈沖,直到它變?yōu)?HIGH。在該函數(shù)之后,收集的時(shí)間將分配給持續(xù)時(shí)間的符號長變量,以微秒為單位讀取時(shí)間。現(xiàn)在,我們聲明變量lowpulseoccupancy 讀取它自己的讀數(shù),加上變量duration的讀數(shù)。現(xiàn)在我們已經(jīng)來到了代碼的主要部分,我們在這里計(jì)算原始數(shù)據(jù)并將其轉(zhuǎn)換為我們可以讀取的單位。if 語句說,如果變量starttime減去當(dāng)前的計(jì)數(shù)時(shí)間,大于或等于變量sampletime_ms的值(2000 毫秒),則它被編程為執(zhí)行if 語句下面的其余代碼隨后,我們利用我們過去聲明的變量之一,通過使用變量ratio?將其分配給一個(gè)值,即lowpulseoccupancy, ?我們遇到了,并且,通過一點(diǎn)數(shù)學(xué),我們可以為該變量分配一個(gè)新的讀數(shù)ratio。因此,variable ratio等于lowpulseoccupancy(添加到變量duration的讀數(shù)中)除以變量sampletime_ms?乘以 10,得到整數(shù)百分比。隨后,我們將計(jì)算出的值轉(zhuǎn)換為單位pcs/0.01cf。我們將為此使用的變量將被命名為?濃度。開始,濃度由 1.1 乘以可變比率的值組成 ?到 3 的冪。然后,將該連續(xù)方程減去 3.8,乘以可變比率?的 2 次冪。再將其加上 520,再次乘以可變比率,最后,將連續(xù)讀數(shù)相加到 0.62。草圖中的pow()函數(shù)用于將整數(shù)、值或變量提升到其他事物的冪。當(dāng)我們結(jié)束這段代碼時(shí),我們將讀數(shù)打印到串行監(jiān)視器中,在我們打印變量濃度之前,在串行監(jiān)視器上使用短語“ Concentration = ” ,因?yàn)樵撟兞繉碜詡鞲衅鞯脑紨?shù)據(jù)轉(zhuǎn)換為合適的測量單位。此外,在串行監(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í)間)。最后,這些行包含了我們的代碼,它的長度很短,但是當(dāng)它被剝離時(shí)很復(fù)雜。

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)