国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

制作一個PM2.5測試儀

工程師 ? 來源:未知 ? 作者:姚遠香 ? 2019-05-17 15:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

霧霾已成常態,自己DIY一個PM2.5檢測儀還是很有必要的。利用零基礎入門開發板 Arduino UNO R3,只需很簡單的電路和很少的代碼就能自制一個PM2.5檢測儀。為保證測量精度,這里選用激光粉塵傳感器來測試空氣中的霧霾污染程度,同時選用DHT11來檢測環境溫度和濕度,非常適合中小學生練習。

一、制作PM2.5檢測儀所需的材料

Arduino UNO R3開發板,一個

激光PM2.5傳感器,一個

1.3寸OLED屏,1個

濕度傳感器DHT11,一個

面包板,一個

杜邦線,若干

電阻,阻值約5k,1個

二、元件介紹

1、Arduino UNO R3開發板

Arduino是一個開放源代碼的設計平臺,由硬件Arduino板和軟件Arduino IDE集成開發環境兩部分組成。Arduino板是一個以AVR單片機為核心的開源硬件平臺,有多種型號和配套資源,其中最基礎、最常用的是Arduino UNO R3板,價格低廉、售價約23元,體積小巧、使用方便。Arduino IDE是一款非常優秀的軟件開發平臺,界面簡潔友好,上手快,具有很好的跨平臺性。

Arduino編程是基于入門級的C語言,門檻低,最重要的是在Arduino環境中,很多功能均已封裝成函數,可直接調用函數完成相應的功能,大大降低了編程復雜度,學生無需具備太多的單片機知識就可使用 Arduino板與各種傳感器、電子元件連接,快速搭建出各種有趣的、實用的電路,實現豐富的功能。Arduino還支持第三方庫和硬件等,靈活性和擴展性強。

2、激光PM2.5傳感器

為保證測試精度,選用了一款激光PM2.5傳感器,缺點是售價比較離譜,這東西成本不高,但因為缺乏競爭,所以價格一直居高不下。

該傳感器接口有6個引腳,但實際上只用到4個,各引腳定義如下所示。

制作一個PM2.5測試儀

傳感器采用異步串行通信方式(UART),以幀為單位進行通訊。幀格式固定,每一幀由9 個字節組成,分命令幀和應答幀。當外部設備向傳感器發送命令幀時,傳感器會回復外部設備對應的應答幀。

波特率:9600;

校驗位:無;

停止位:1 位;

數據位:8;

制作一個PM2.5測試儀

3、OLED屏

OLED顯示屏采用有機發光二極管,不需背光源,是一種較新型的顯示屏,缺點是價格較高,不如LCD壽命長。

有機發光顯示技術由非常薄的有機材料涂層和玻璃基板構成。當有電荷通過時這些有機材料就會發光。OLED發光的顏色取決于有機發光層的材料,故廠商可由改變發光層的材料而得到所需之顏色。有源陣列有機發光顯示屏具有內置的電子電路系統因此每個像素都由一個對應的電路獨立驅動。OLED具備有構造簡單、自發光不需背光源、對比度高、厚度薄、視角廣、反應速度快、可用于撓曲性面板、使用溫度范圍廣等優點。

本例程采用128x64的1.3寸OLED單色顯示屏,IIC接口

接線時,請務必仔細核對電源和地線,不要接反。

4、溫濕度傳感器

DHT11 是一款廉價的溫濕度傳感器,利用濕敏電阻測量濕度,采用數字溫度傳感器測試溫度,并由單片機處理后采用串行輸出。DHT11 售價約4元,就是略丑。DHT22 售價約15元,雖然顏色變白了,但顏值依然很低。二者管腳定義一樣,但操作時序不同在應用時需要注意。這里,我們選用DTH11型號。

制作一個PM2.5測試儀

DHT11的硬件連接非常簡單,原理圖如下:

制作一個PM2.5測試儀

三、軟件環境配置

安裝

雙擊arduino-1.8.3-windows.exe,出現安裝導向,依次確認,默認安裝即可。安裝完成后,桌面上會出現Arduino軟件的logo,下次使用時雙擊。

配置開發環境

插入Arduino UNO R3開發板,系統自動安裝USB驅動。

選擇相應的板卡

制作一個PM2.5測試儀

選擇端口

可以通過設備管理器查看設備對應的端口情況,本機對應的是COM5。

制作一個PM2.5測試儀

驗證

打開文件,示例,找到Blink程序

制作一個PM2.5測試儀

點擊對號驗證程序能否通過編譯,如果一切正常;點擊向右的箭頭將編譯好的程序上傳至Arduino UNO R3的AVR單片機中;也可以直接點擊該箭頭,IDE會先執行驗證,通過驗證后直接上傳。

如果看到LED燈閃爍,說明一切正常。恭喜你,安裝成功,板卡正常。

添加第三方庫

啟動Adruino IDE

項目-》加載庫-》管理庫,搜索DHT,安裝 DHT sensor library,以支持DHT11

項目-》加載庫-》管理庫,搜索U8GLIB,安裝 U8GLIB,以支持OLED

四、開始動手實踐

操作溫濕度傳感器

1、先把Arduino UNO R3板子上的電源和地引到面包板上

2、把溫濕度傳感器連接好,其中傳感器的數據輸出SDA接Arduino板的A0口。溫濕度的連接方式非常簡單,如本文前面的原理圖所示,除了電源和地,只有一根SDA線經5-10k電阻上拉至5V,同時接Arduino板的A0口即可。

3、調入例程

文件-》示例-》DHT sensor library -》DHTtester

4、修改數據輸入端

#define DHTPIN A0// what digital pin we‘re connected to

5、修改例程,支持 DHT11,去掉該行前面的//

#define DHTTYPE DHT11 // DHT 11

6、上傳程序,打開串口監視器,設置9600波特率,觀察環境溫濕度。

操作OLED屏

1、斷開Arduino UNO R3板子的電源

2、把OLED屏連接好,由于是IIC接口,電路連接很簡單,OLED屏除了連接好電源和地,只需將SCL接Arduino板的A5端,SDA接Arduino板的A4端即可。

3、調入例程

文件-》示例-》U8glib -》helloword

4、修改例程,支持OLED,去掉該行前面的//

U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);// I2C / TWI

5、上傳程序,觀察OLED屏的顯示是否正確。

操作PM2.5傳感器

該傳感器是一款激光數字式PM2.5傳感器,內置激光器和光電接收組件,采用光散射原理,激光在顆粒物上產生散射光,由光電接收器轉變為電信號,再通過特定算法計算出PM2.5值和PM10值。

該傳感器采用串口輸出,除了1腳接地,2腳接電源,再將3腳TXD和4腳RXD分別接Arduino板的D5、D6端口,當然,您也可以接別的端口,只要程序做相應的修改即可。

常用指令只需要三條,分別是開機指令、讀取PM2.5值指令和關機指令,不妨根據手冊自己編寫試試,簡單起見,可以用串口監視器顯示結果。

五、編寫程序,實現PM2.5檢測儀

由于硬件電路已經逐步連接完畢,下面可以針對整個電路編寫程序了,把各部分功能統一起來,軟件示例代碼如下:

#include 《DHT.h》

#include “U8glib.h”

#include 《SoftwareSerial.h》

// 說明,這僅是一個簡單的示例程序,目的是幫助初學者入門

#define DHTPIN A0 // 接溫濕度傳感器的數據端

// 選擇合適的溫濕度傳感器型號

#define DHTTYPE DHT11 // DHT 11

//#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321

uint8_t PM25_OPEN[] = {0xAA,0x01,0x00,0x00,0x00,0x00,0x01,0x66,0xBB}; //開機指令

uint8_t PM25_CLOSE[] = {0xAA,0x03,0x00,0x00,0x00,0x00,0x01,0x68,0xBB}; //關機指令

uint8_t PM25_DATA[] = {0xAA,0x02,0x00,0x00,0x00,0x00,0x01,0x67,0xBB}; //讀數據指令

DHT dht(DHTPIN, DHTTYPE);

// 軟串口定義格式 SoftwareSerial(rxPin, txPin, inverse_logic

SoftwareSerial mySerial(5, 6); //定義軟串口,D5、D6分別連接PM2.5傳感器的3(TXD)、4(RXD)

U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI OLED屏定義

uint16_t pm25, pm10;

float h, t, hic;

void setup() {

mySerial.begin(9600); //設置軟串口波特率與PM2.5傳感器一致

if ( u8g.getMode() == U8G_MODE_R3G3B2 ) {

u8g.setColorIndex(255); // white

}

else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) {

u8g.setColorIndex(3); // max intensity

}

else if ( u8g.getMode() == U8G_MODE_BW ) {

u8g.setColorIndex(1); // pixel on

}

else if ( u8g.getMode() == U8G_MODE_HICOLOR ) {

u8g.setHiColorByRGB(255,255,255);

}

pmOn();

delay(2000);

}

int i=0;

void loop() {

u8g.firstPage();

if (i==0) pmRead();

if(i》=5) i=0;else i++;

dhtRead();

do {

draw();

} while( u8g.nextPage() );

delay(500);

}

void pmOn(){

mySerial.write(PM25_OPEN,9);

}

void pmOff(){

mySerial.write(PM25_CLOSE,9);

}

void pmRead(){

uint8_t data[9];

//while(mySerial.available());

mySerial.write(PM25_DATA,9);

delay(100);

for(int i=0;i《9;i++){

if (mySerial.available()) {

data[i] = mySerial.read();

}

}

if(data[0]==0xAA && data[8]== 0xBB){

pm25 = data[4]*256 + data[5];

pm10 = data[2]*256 + data[3];

}

}

void dhtRead(){

// Reading temperature or humidity takes about 250 milliseconds!

// Sensor readings may also be up to 2 seconds ‘old’ (its a very slow sensor)

h = dht.readHumidity();

// Read temperature as Celsius (the default)

t = dht.readTemperature();

// Compute heat index in Celsius (isFahreheit = false)

hic = dht.computeHeatIndex(t, h, false);

}

void draw(void) {

// graphic commands to redraw the complete screen should be placed here

char sendBuff[20];

u8g.setFont(u8g_font_unifont_78_79);

sprintf(sendBuff,“%c”,14);

u8g.drawStr( 0, 18, sendBuff);

u8g.setFont(u8g_font_unifont);

sprintf(sendBuff,“H:%2d%% T:%2d%cC”,(int)h,(int)t,0xB0);

u8g.drawStr( 20, 18, sendBuff);

u8g.setFont(u8g_font_profont22);

sprintf(sendBuff,“PM2.5:%4d”,pm25);

u8g.drawStr( 6, 42, sendBuff);

sprintf(sendBuff,“PM 10:%4d”,pm10);

u8g.drawStr( 6, 64, sendBuff);

}

運行結果

六、工匠精神

為使這款PM2.5檢測儀更具有實用性,你也可以動手制作印刷電路板,為便于初學者使用,主控芯片可以采用與Arduino UNO R3板子一樣的CPU

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 測試儀
    +關注

    關注

    6

    文章

    4233

    瀏覽量

    61430
  • PM2.5
    +關注

    關注

    0

    文章

    59

    瀏覽量

    26972
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    GD32VF103串口讀取PM2.5傳感器

    的。串口速率 9600 8 N 1 2. 串口獲取32字節數據,存入buffer中 3.根據手冊計算checksum,若傳輸正常,則計算PM2.5濃度。以CF=1 PM2.5濃度為例,根據手冊,第8號
    發表于 11-05 08:34

    華科智源IGBT靜態參數測試儀

    HUSTEC華科智源HUSTEC-1600A-MTIGBT功率器件測試儀:IGBT功率器件測試儀主要特點華科智源HUSTEC-1600A-MT靜態測試儀可用于多種封裝形式的IGBT
    的頭像 發表于 10-29 10:39 ?2086次閱讀
    華科智源IGBT靜態參數<b class='flag-5'>測試儀</b>

    認識成品電池綜合測試儀

    檢測。 測試儀是做什么的? 簡單來說,成品電池綜合測試儀就像位給電池做全面體檢的“醫生”。它不是只檢查方面,而是對電池進行
    的頭像 發表于 10-20 16:57 ?681次閱讀

    LCR測試儀測量電阻的快速準確技巧

    與數據可靠性。 ? 、LCR測試儀電阻測量原理:四線法的核心應用 LCR測試儀通過施加交流信號并測量電壓與電流關系計算電阻值,其核心在于四線法(四端測量法)的應用。該方法通過獨立的兩對測試
    的頭像 發表于 09-09 11:29 ?8578次閱讀
    LCR<b class='flag-5'>測試儀</b>測量電阻的快速準確技巧

    LCR測試儀如何實現智能化與AI融合

    的研發和生產帶來了革命性的變化。以下是LCR測試儀如何實現智能化與AI融合的詳細探討。 ? 、智能化與AI融合的背景 LCR測試儀主要用于測量電感(L)、電容(C)和電阻(R)等電子元器件的參數。傳統的LCR
    的頭像 發表于 08-08 16:49 ?968次閱讀
    LCR<b class='flag-5'>測試儀</b>如何實現智能化與AI融合

    IGBT靜態參數測試儀系統

    HUSTEC華科智源 HUSTEC-1600A-MT IGBT功率器件測試儀 :IGBT功率器件測試儀主要特點 華科智源HUSTEC-1600A-MT靜態測試儀可用于多種封裝形式的
    的頭像 發表于 07-08 17:31 ?2084次閱讀

    LCR測試儀的使用方法與注意事項

    、引言 LCR測試儀(電感、電容、電阻測試儀)是電子工程領域的核心測量工具,廣泛應用于元件參數測試、電路調試及產品質量控制。其高精度、多功能特性使其成為實驗室和生產線不可或缺的設備。
    的頭像 發表于 04-29 10:36 ?1.3w次閱讀
    LCR<b class='flag-5'>測試儀</b>的使用方法與注意事項

    繼電保護測試儀開入量如何接線?

    繼電保護測試儀的開入量接線是進行測試的關鍵步驟之,其正確性直接影響到測試結果的準確性。
    的頭像 發表于 04-12 10:55 ?1423次閱讀

    絕緣電阻測試儀使用方法

    緣電阻測試儀(Insulationresistance testing instrument)又稱數字絕緣電阻測試儀、兆歐表、智能絕緣電阻測試儀等,是種常用的儀器設備,用于測量電氣設
    的頭像 發表于 04-12 10:53 ?4661次閱讀
    絕緣電阻<b class='flag-5'>測試儀</b>使用方法

    LCR測試儀測量電感的誤差分析案例

    、LCR測試儀測量電感的基本原理 1.1 LCR測試儀的工作原理 LCR測試儀基于交流信號測量電感,它給待測元件施加正弦交流信號,利用定值電阻串聯,通過測量元件與電阻上的電壓,計算分
    的頭像 發表于 04-02 11:55 ?1938次閱讀
    LCR<b class='flag-5'>測試儀</b>測量電感的誤差分析案例

    如何選擇款優秀的電池綜合測試儀

    在當今的電子設備與新能源產業中,電池作為能量存儲的核心部件,其性能的穩定與優劣直接關系到整個系統的運行效率與可靠性。因此,選擇款優秀的電池綜合測試儀,對于電池的研發、生產、質量控制以及維護至關重要
    的頭像 發表于 04-01 14:07 ?860次閱讀

    如何設置信令測試儀的發射參數

    設置信令測試儀的發射參數是涉及多個步驟的過程,具體步驟可能因信令測試儀的型號和品牌而有所不同。以下是
    發表于 03-24 14:31

    UHV-500電纜故障測試儀操作使用

    電纜故障測試儀是我公司根據用戶要求,從現場使用考慮,精心設計和制造的全新代便攜式電纜故障測試儀器。它秉承我們貫高科技、高精度、高質量的宗旨,將電纜
    發表于 03-19 17:05 ?0次下載

    氣密性測試儀使用方法實操技巧:提高測試準確性的秘訣

    在質量檢測領域,氣密性測試儀扮演著至關重要的角色。它能夠幫助我們精準地判斷產品的密封性能,確保產品在各種環境下都能保持其應有的功能。然而,要想獲得準確的測試結果,不僅需要臺高精度的測試儀
    的頭像 發表于 03-17 14:35 ?791次閱讀
    氣密性<b class='flag-5'>測試儀</b>使用方法實操技巧:提高<b class='flag-5'>測試</b>準確性的秘訣

    LCR測試儀精密電阻測量方法

    在現代電子設備的設計與維護中,精密的電阻測量成為了保證電路性能和穩定性的關鍵技術之。而LCR測試儀作為種集電感(L)、電容(C)和電阻(R)測量于體的精密儀器,廣泛應用于各種電學
    的頭像 發表于 03-11 17:21 ?2012次閱讀
    LCR<b class='flag-5'>測試儀</b>精密電阻測量方法