Larry Bank與碳足跡監(jiān)測-CO2項目基于盛思瑞SCD40傳感器和SPI墨水屏/TFT屏ST7302

Larry Bank原文出處:
https://bitbanksoftware.blogspot.com/2022/10/the-co2-project.html
基于互利互惠的平等互信合作原則以及我是war chest的大前提下,我可以光榮地轉(zhuǎn)載翻譯大佬的東西,出口轉(zhuǎn)內(nèi)銷嘛。以下是原文(靠,機器翻譯算了。大伙都是看得懂的。)

環(huán)境傳感和空氣質(zhì)量一直是研究的熱點。COVID 大流行也進一步促使我對室內(nèi)空氣質(zhì)量、二氧化碳水平和人群密集場所大伙們共享空氣的好奇心(和擔(dān)憂)。 我試圖節(jié)省錢并使用廉價傳感器,但結(jié)果不令人滿意。eCO2 是由某些 VOC(揮發(fā)性有機化合物)傳感器生成的“等效 CO2”值。 這個想法是人類的呼吸中含有大量的揮發(fā)性有機化合物,如果你檢測到它們,你也會檢測到二氧化碳。 這種想法的缺陷在于,很多其他東西都會產(chǎn)生 VOC,而與 CO2 無關(guān)。 誤報的一個很好的例子是食物準(zhǔn)備。 做飯時將 VOC 傳感器帶入廚房,它會告訴您空氣中的“eCO2”有毒水平。?
我最終決定嘗試使用真正的 CO2 傳感器,因為 Sensiron 最近推出了一款看起來值得購買的小型低功耗傳感器 - SCD41。 該傳感器是一個邊長約 8 毫米的立方體,可使用紅外光散射法報告準(zhǔn)確的二氧化碳測量值。
初步測試
使用無焊面包板在我的臥室里運行傳感器,輸出顯示在我無處不在的 SSD1306 OLED 之一上。

初始讀數(shù)看起來很高,但我認為傳感器需要時間來“穩(wěn)定”或自我校準(zhǔn)。 我讓它運行了一夜,當(dāng)我醒來時,報告的二氧化碳水平高得令人不安 (>3000ppm)。 我已經(jīng)閱讀了一些有關(guān) CO2 濃度值以及它們?nèi)绾斡绊懩慕】档男畔?,但我仍然認為我的設(shè)置一定有問題。 一時興起,我將傳感器舉出一扇打開的窗戶,瞧瞧,該值穩(wěn)定在接近地球當(dāng)前平均值 430 ppm 左右。 這真是令人大開眼界。 我一生中的大部分時間都關(guān)著窗戶生活,因為我的各個家庭中的 HVAC 系統(tǒng)一直在使用以保持溫度和濕度水平。 在夏季的南佛羅里達州尤其如此。 許多家庭的進氣口位于室內(nèi)走廊,因此新鮮(外部)空氣不會通過 HVAC 系統(tǒng)添加到家中。 外面的空氣又熱又濕,如果你不開空調(diào),不關(guān)窗戶,你的房子就會長滿霉菌。 我假設(shè)有足夠的空氣從門窗下面滲入以保持二氧化碳水平合理,但我顯然錯了。
解讀數(shù)字
根據(jù) OSHA,這些是二氧化碳水平如何影響您的健康:
350-1,000 ppm:空氣交換良好的占用空間中的典型水平
1,000-2,000 ppm:與困倦和空氣質(zhì)量差的投訴相關(guān)的水平
2,000-5,000 ppm:與頭痛、困倦和空氣停滯、陳舊、悶熱相關(guān)的水平; 注意力不集中、注意力不集中、心率加快和輕微惡心也可能出現(xiàn)。
>5,000 ppm:這表示異常的空氣條件,其中也可能存在高濃度的其他氣體。 可能會發(fā)生毒性或缺氧。 這是日常工作場所接觸的允許接觸限值。
>40,000 ppm:該水平會因缺氧而立即有害。
二氧化碳水平也是一個有用的指標(biāo),可以表明您吸入了多少其他人的空氣。 新冠病毒席卷全球后不久,許多餐廳和室內(nèi)空間都增加了二氧化碳監(jiān)測。 接近室外空氣水平的 CO2 水平表示良好的空氣處理和較低的感染風(fēng)險。
更進一步
我組裝了一個電池供電的索具,將 CO2 傳感器帶到路上。 我想看看在購物中心和餐館等室內(nèi)空間中可以找到什么樣的二氧化碳水平。 我在我選擇的 ST7302 250x122 低功耗 LCD 上有足夠的屏幕空間,所以我添加了一個時鐘以使其在我的桌子上等待下一次戶外探險時更有用。

帶著我笨重的“袖珍”傳感器,我參觀了不同的地方——一家面包店、一家餐館、一家大型購物中心、一間改建成教室的公寓。
這是我發(fā)現(xiàn)的(您的發(fā)現(xiàn)可能有所不同):
大型購物中心、現(xiàn)代辦公室和公共場所在設(shè)計時都考慮到了改進的空氣處理能力。 即使在地下層,我也看到了 600 的二氧化碳值(良好)。
小餐館/企業(yè)魚龍混雜。 微風(fēng)可以幫助任何零售空間,但如果所有的門都關(guān)閉了,請小心!
公寓和改建的住宅空間通??諝饬魍ê懿?。 一個房間里的幾個人(即使一側(cè)的窗戶打開)也會導(dǎo)致 CO2 水平迅速上升到危險區(qū)域。 想辦法制造交叉微風(fēng)。
可操作的數(shù)據(jù)
有了二氧化碳數(shù)據(jù),我的家人改變了我們的行為以改善我們的室內(nèi)空氣質(zhì)量。 白天,我們都偶爾會感到睡眠障礙和注意力不集中。 我想知道這是否與高二氧化碳濃度有關(guān)。 我們嘗試了以下方法:早上和晚上我們打開窗戶以改變所有空氣,現(xiàn)在我們在晚上讓所有臥室的門都打開。 白天,我們偶爾會打開公寓兩側(cè)的窗戶,吹吹微風(fēng)。 晚上,我們會在睡覺前檢查讀數(shù),使讀數(shù)低于 600 ppm,而當(dāng)我們醒來時,讀數(shù)往往會達到 1200 ppm 左右。 我們最近似乎都感覺好多了,所以這種變化似乎帶來了幸福感的有益改善。
一個非常實用的冰箱貼
Pimoroni 最近發(fā)布的 Badger2040 板是一個漂亮的套件,在我看來它是收集和顯示二氧化碳信息的絕佳方式。 顧名思義,該板被設(shè)計成掛繩上的某種徽章,帶有動態(tài)但低功耗的電子墨水顯示屏。

它的背面包括一個 RPI Pico MCU,以及一個電池連接器(無充電電路)和 Qwiic I2C 連接器。 3.3v 穩(wěn)壓器電路包括一個節(jié)省電池電量的巧妙想法。 RPI Pico 具有深度睡眠模式,但在此模式下仍會消耗接近 1mA 的電流(與其他 MCU 上的幾微安相比)。 為了讓電池使用更長時間,Pimoroni 的團隊決定將前面的按鈕和一個內(nèi)部 GPIO 引腳連接到穩(wěn)壓器的 EN(啟用)引腳。 這意味著當(dāng)關(guān)閉時(EN = 低),它通過電池電路僅泄漏大約 3uA。 要喚醒它,用戶必須按下前面的按鈕之一(它喚醒速度足夠快,可以在用戶釋放按鈕之前讀取按下的是哪個按鈕)。 一旦喚醒,代碼需要將 EN 設(shè)置為高電平以保持供電(通過將 GPIO 引腳設(shè)置為高電平)。 當(dāng)您的代碼準(zhǔn)備好使其重新進入休眠狀態(tài)時,只需設(shè)置 EN = low。 不利的一面是沒有保留 RAM,因此要為下一個加電周期保留任何變量,需要將它們寫入 FLASH。
零件

Pimoroni Badger2040
Pimoroni SCD41 二氧化碳傳感器
Qwiic電纜
鋰聚合物電池(我用了不同的,但你可以用這個或類似的)
3D 打印外殼(不是必需的,但有幫助)
4x2mm 釹磁鐵(不是必需的,但有幫助)
4 x 1.6x7mm 自攻螺釘(我很久以前在零件套件中得到了這些)
我認為 Badger2040 是適合掛在冰箱上的“常亮”顯示器的絕佳起點。 我們需要將兩個東西連接到背面并用某種外殼保護它們,但仍允許接觸周圍空氣。 我決定創(chuàng)建一個具有以下特征的 3D 打印后蓋:
易于在任何 3D 打印機上快速打印
防止電池和 SCD41 懸垂在電線上
允許空氣流過傳感器
有磁鐵孔
利用電路板上的 4 個螺絲孔的簡單設(shè)計
我喜歡使用 Adobe Fusion 360 的免費/業(yè)余愛好者版本進行 3D 設(shè)計。 f3d 和 stl 文件可從我的 Github 存儲庫中獲取。
我用 PLA 打印它,它很結(jié)實,但很輕。 在底部,我為我喜歡使用的 4x2mm 釹磁鐵打了 4 個孔。
我更喜歡使用“壓接”技術(shù)將磁鐵連接到塑料上。 這種類型的磁鐵很容易被熱損壞(即使是膠槍),所以我為 4mm 直徑的磁鐵創(chuàng)建了 4.05mm 的孔。 這個額外的 1/20 毫米公差解釋了 PLA 從熱端出來時的“擠壓”。 有了這個尺寸的孔,我可以用一點力將它們推入堅硬的表面。 我測試了其他孔尺寸,對于這種材料和直徑,4.05 毫米效果最好。 它們保持良好狀態(tài),不會彈出并與塑料齊平,以便與您附著的金屬表面良好接觸。 如果您想重新使用它們,也可以無損地回收它們。 現(xiàn)在案例已經(jīng)完成,我們可以專注于軟件。
代碼
我喜歡使用本地代碼工作,也有重新發(fā)明輪子的傾向。 對于這個項目,我需要一種與 SCD41 傳感器和 128x296 電子紙顯示器通信的方法。 Arduino 有現(xiàn)有的庫可以與這兩種設(shè)備通信,但我早期使用 SCD41 的部分工作需要一個更靈活的驅(qū)動程序,該驅(qū)動程序可以在 Linux 以及 bit-banged GPIO 引腳上運行,所以我編寫了自己的驅(qū)動程序。 幸運的是,與 SCD41 的通信非常簡單。 Badger2040 的電子紙顯示有點復(fù)雜,但對我來說,為我的 OneBitDisplay 庫添加支持似乎是一個很好的挑戰(zhàn)。 它使用 UC8151 顯示控制器,并且只需要根據(jù)其分辨率進行一些自定義設(shè)置。 編寫完這兩個組件后,我就可以創(chuàng)建用于該項目的草圖。
最后的想法
在我的各種技術(shù)項目中,這段經(jīng)歷是最實用的經(jīng)歷之一。 它為我觸及了所有正確的按鈕:電源優(yōu)化、顯示、健康、對家庭有用,最后是 3D 打印。 “CO2 Badger”已經(jīng)安裝在我的冰箱上幾個星期了,事實證明它對測試廚房空氣質(zhì)量非常有用。 400mAh 的 LiPo 電池看起來每天按幾次就可以使用很長一段時間。 如果您有任何改進的想法,請告訴我。