1. 程式人生 > >使用MUART0-P-1-2設定無線PM2.5感測環境

使用MUART0-P-1-2設定無線PM2.5感測環境

資訊蒐集–> 處理分析–> 動作執行,這是IoT環境中最基本的組成要素,感測器蒐集環境資訊後,透過指定的通訊協議傳送到至控制中樞,經過處理分析後再將命令送交各device端執行。要實現這樣基本的系統,我們在這三個端點都需要部署一個執行單位(開發板)以及訊訊模組,以實現RF聯機以及資訊傳送、接收、分析、執行等動作。

不過,現在我們只需要一片物美價廉的1對2無線傳輸模組,就能簡化上面這樣的系統,讓您在設計及布建IoT專案更能得心應用。

如上圖,MUART0 RF UART模組替我們完成了MCU及通訊模組兩種工作,因此整體架構變得非常的簡潔單純。本文範例是以最實用的PM2.5感測加上空氣清淨機為例,不過您也可以更改為其它的模組,例如,PIR模組連動相機快門、門磁模組連動警報器、溫溼度模組連動冷氣機、一氣化碳偵測模組連動門窗開合馬達…等等,各種場景應用不勝列舉,您可以試看看。

 感測、控制、執行三要素分離的PM2.5感測系統

平常市面所見的PM2.5空氣清淨機可以看成是all-in-one的資訊蒐集  –> 處理分析  –>  動作執行,現在我們把它分離成三個獨立功能的裝置,也就是三件式無線PM2.5感測裝置:感測、顯示、Relay三種功能分離。平常我們看到的都是all-in-one,PM2.5感測、顯示以及啟動電源都做在一臺空氣清淨機上,現在我們把它分離成三個獨立功能的裝置,使用起來更方便。

要完成這樣的三件式無線裝置,您需要先考慮procotol用藍芽還是RF或WIFI,接著為這三個裝置分別準備好Arduino開發板以及網路模組,最後還要設計裝置間訊號的收發傳送動作並引用並撰寫繁雜的程式程式碼。不過,如果您使用MUART0-P-1-2(凌陽創新1對2 RF UART傳輸模組),只需要一片Arduino,幾行Serial傳輸指令,並套用原本的PM2.5 library,馬上就能DIY出三件式PM2.5感測裝置,跟直接使用攀藤PM2.5模組一樣簡單哦。

使用MUART0-P-1-2設計動作流程

使用MUART0-P-1-2的三個無線裝置動作流程如下,由感測端的PM2.5資料接收開始,到觸發relay開啟電源,最後再顯示於LCD上。

在此流程中串起三個裝置的靈魂要角是MUART0-P-1-2,它是1對2的無線Uart傳輸模組,能將傳統1對1的UART埠直接升級為無線UART傳輸,而且還能連線兩組UART介面。由於是1對2,因此其包裝為三個一組,包含Device端(編號P1)兩片及Root端(編號P0)一片,可由背面的標籤來識別(P0為Root,P1/P2為Device #1/#2)。

P0(Root)端可透過CTS pin腳選擇要與P1或P2連線,當CTS預設未接時,連線的是P1(Device #1),CTS接地時,則與P2(Device #2連線)。其實1對2的使用及功能與1對1完全相同,差別在於多了透過CTS腳位來選擇Device的功能。(CTS腳位位置如下)

所需材料及組裝

PM2.5感測端

材料

MUART0-P-1-2的P1 device

USB接頭、攀藤的G5T(PMS5003T)。

攀藤的G5T除了PM2.5之外,還能一併偵測溫度和溼度,相當方便。

組裝及接線

這是三個裝置中最重要、但也是最簡單的一個,因為只要把攀藤的PM2.5感測器如下圖般與MUART0-P-1-2的P1相連線就OK了(注意TX與RX要對接),所有資料傳輸工作都已經由MUART0-P-1-2替你代勞。

LCD顯示端

材料

Arduino UNO、MUART0-P-1-2的P1 device、3色LED x1、

16×2 LCD(1602 IIC)x1、PIR、按鈕x2

組裝及接線

顯示端主要在於顯示及控制,因此加了兩顆按鈕、三色LED以及一個PIR模組,使用的零件較多也顯得接線麻煩一些,但只要按圖索驥並不太難。注意按鈕部份您應該要加個10K的上拉或下拉電阻,下圖中此部份並沒有秀出來。

PIR的用途為偵測是否有人接近,有的話則啟動LDE模組的背光功能一段時間後再關閉,以節省電源。

三色LED用於顯示裝置的狀態,例如PM2.5正常時顯示綠燈,偏高時顯示藍燈,過高時顯示紅燈。

兩顆按鈕用於調整PM2.5的threshold值,控制relay何時需要開啟。另外,同時按下時可開啟/關閉PIR的功能。

Relay繼電器控制端

材料

繼電器relay x1、MUART0-P-1-2的P2 device、110V電源接頭、USB接頭

組裝及接線

Relay端也不難,但要注意的是,Outputport #0除了接到繼電器外,也要一併回接到Input port #0,讓我們在顯示端的Arduino也能同時收到開啟繼電器的動作訊息。

燒錄程式

把硬體部份都安裝妥當後,接下來就要把程式刻錄到Arduino了。請在Github上下載

https://github.com/ch-tseng/pm25_MUART0-P-1-2-Bear/blob/master/Arduino/bear/bear.ino

並燒錄進去,如果你的接法與前述的方法相同,理論上不需要作任何修改就可以正常的動作了。

如果你的LCD沒有正常的顯示,請確認一下其I2C程式碼預設為0x27或0x3f,一般在露天拍賣購買的大部份是0x27,但最近向IC Shop販賣的是0x3f,此兩者適用的library也不太相同哦,建議您到Google上搜尋下載並試用看看。Github上放置的NewliquidCrystal.rar是0x3f版本。

外殼製作

有了3D印表機,就可以丟掉那些外觀死板還要額外鑽洞切割的塑料盒或木板了,外形、大小、內建空間可在螢幕上天馬行空的設計,唯一缺點就是列印速度太慢了。

本例的3D模型也放置在Github上,

https://github.com/ch-tseng/pm25_MUART0-P-1-2-Bear/tree/master/3D%20models

您可以下載stl檔來列印。

感測端的外殼:

內建空間剛好放置一個G5T sensor,其吸風孔要朝下剛好與肚子切平。

顯示端的外殼

使用16×2的I2C LED,螢幕可剛好平整的卡在熊的側身,不過還是需要加上熱熔膠及螺絲輔助。

三色LCD請插入脖子內直達眼睛的孔洞中。

使用2個正方形5mm x 5mm的小按鈕。

藍色方形為放置Arduino nano的底板。

Relay端的外殼

空間剛好放置一個繼電器、一個110轉5V變壓器以及一片MUART0。前後兩端的圓孔分別為110V的輸入及輸出。

完成

請把小熊放置於想要偵測PM2.5的地點,然後將空氣清淨機接到Relay繼電器上,最後再把母熊放置於客聽或書桌前。當有人接近時母熊時。LCD背光便會自動開啟顯示目前的PM2.5及溫溼度數值。您也可以從背後調整PM2.5的上限值,當小熊偵測到PM2.5超過此上限時,便會觸發Relay繼電器將空氣清淨機的電源開啟.

原文參考

https://mp.weixin.qq.com/s?__biz=MzU0MTg0ODIzNA==&mid=2247484597&idx=2&sn=077594fcfb31760fe618ec359724c270&chksm=fb22e370cc556a66882a9f52a54411b68e3f75ffda09cada1d2fad79c169e7912ff078c4dc77#rd