標(biāo)題: Arduino夏普GP2Y1050AU0F的串口讀取_源代碼 [打印本頁(yè)]

作者: xiaojuan    時(shí)間: 2014-9-22 16:14
標(biāo)題: Arduino夏普GP2Y1050AU0F的串口讀取_源代碼
以下出自Weesky 的博客:
夏普PM2.5傳感器,GP2Y1050AU0F是一款用在普通凈化器上的產(chǎn)品。支持?jǐn)?shù)字串口輸出和模擬輸出。外圍需要1顆220uF的電容。操作簡(jiǎn)單。的



GP2Y1050AU0F的Pm2.5檢測(cè)限在35ug~500ug/m3,對(duì)小顆粒不敏感,但是對(duì)煙塵比較敏感。如果用作測(cè)試PM2.5請(qǐng)注意自行標(biāo)定。并且,做滑動(dòng)平均算法。
串口與模擬的區(qū)別。GP2Y1050AU0F是在上一代1010改進(jìn)而來,因此原本這個(gè)傳感器是模擬的。所以如果使用模擬輸出,那么反應(yīng)會(huì)最快。數(shù)字讀取經(jīng)過內(nèi)置單片機(jī),到輸出,讀取略微遲鈍0.5s。 但是數(shù)值基本相當(dāng)。數(shù)字口較為穩(wěn)定。
初次使用,可以點(diǎn)一支煙做測(cè)試。數(shù)值應(yīng)該為PDF中的線性關(guān)系。你也可以插一根牙簽到傳感器的洞中。以讓它達(dá)到輸出的最大值。3.28V左右。
代碼可能不完美,期望各路Arduino的高手,分享和修改!
別忘了注上您的大名,并且@張辰-維天 。一下我哦,十分感謝。


GP2Y1050AU0F  ItemsMinNormMaxUnit
VCC
4.8
-
5.2
V
Standby Current Supply
-
20
-
mA
Detectable range of concentration
-
35~500ug/m3
-
塵埃濃度
Operating Temperature Range
-10
-
65
°C
Output Method
模擬電壓輸出,RX/TX串口數(shù)字量輸出兩種
Detecting the particle diameter
>0.3 um
Dimensions
48(W) × 32(H) × 7.6(D) [mm]
Humidity Range
95%rh or less




夏普GP2Y1050AU0F_ Datasheet:
http://wenku.baidu.com/link?url=p6GoWntEr1QvOBOpqlV5svBBW5uL-X8kbTBgdXFod5wh_-X7gjaSUU3VdExHJ78VNAEOV23dZ6VPYbYMeszR6ycQhGpG_0zdLip7EACx9Ra
// Arduino夏普GP2Y1050AU0F的串口讀取_源代碼_Weesky維天監(jiān)制
// 作者ID:Weesky ;  ...
// 本著Arduino開源硬件分享快樂的精深,請(qǐng)各位愛好者自由修改并分享。
// 2014-9-22  
// v1.0 基礎(chǔ)版本,成功讀取數(shù)值,并且算出Pm2.5濃度。
// 修改請(qǐng)注明版本,署上您的大名,不要?jiǎng)h除作者信息,謝謝!
int incomeByte[6];
int data;
int z=0;
int sum;
unsigned long error;
void setup()
{
    Serial.begin(2400);
}
void loop(){
while (Serial.available()>0){
  
   data=Serial.read();
       if(data == 170){
            z=0;
         incomeByte[z]=data;
       }else{
            z++;
         incomeByte[z]=data;
       }
       if(z==6)
       {
         sum=incomeByte[1]+ incomeByte[2]+ incomeByte[3] + incomeByte[4];
        
            if(incomeByte[5]==sum && incomeByte[6]==255 )
            {
               Serial.print("Data OK! ");
               Serial.print(" | Vo=");
                   float vo=(incomeByte[1]*256.0+incomeByte[2])/1024.0*5.00;
               Serial.print(vo,2);
               Serial.print("V  ");
                   float v1=analogRead(A0)/1024.0*5.00;
             Serial.print("/ Ao=");
             Serial.print(v1,2);
             Serial.print("V  | ");
                   float c=vo*200;
             Serial.print(c,2);
             Serial.print("ug/m3 | ");
                   for(int k=0;k<7;k++)
                          {
                          Serial.print(incomeByte[k]);
                          Serial.print("|");
                           }
                        Serial.println();
                                }else{
                           z=0;
                           Serial.flush();
                           data='/0';
                           for(int m=0;m<7;m++){incomeByte[m]=0;}
                           error++;
                     Serial.print(" ### This is ");
                     Serial.print(error);
                     Serial.println(" Error ###");
                      }
                    z=0;
       }
}

}


作者: yunxiaoshui    時(shí)間: 2014-11-27 11:28
想學(xué)習(xí),51黑有你更精彩。!
作者: 你倫哥    時(shí)間: 2014-12-10 11:26
大神你好 本人大二學(xué)生  我想把夏普傳感器和51單片機(jī)相連然后用串口把數(shù)據(jù)傳到電腦上,在電腦上顯示出pm2.5的值,不知可否給個(gè)程序啊。
作者: 南瓜wyy    時(shí)間: 2015-5-18 15:54
大神你好  這個(gè)傳感器能用STM32讀數(shù)據(jù)嗎   我用STM32編寫的程序就是沒數(shù)據(jù)啊 。。
作者: ruiian    時(shí)間: 2015-5-20 13:17
謝謝樓主分享,好好學(xué)習(xí)一下
作者: 古月一心    時(shí)間: 2015-10-5 17:43
樓主,你有沒有用過OLED顯示灰塵濃度,我用了你的程序和我的OLED顯示程序放在一起就死機(jī),你知道是什么原因嗎?求指導(dǎo)。
作者: tao819tao    時(shí)間: 2015-11-24 16:57
請(qǐng)問您 系數(shù) A怎么確定的
作者: wyb_fighting    時(shí)間: 2016-1-11 16:47
大哥,請(qǐng)問下那個(gè)濃度系數(shù)是怎么確定的? 為何是200?   我看到有的資料是550。。。
作者: 黑色鍵盤    時(shí)間: 2016-3-29 20:32
樓主,可以分享一下原理圖嗎?
作者: 產(chǎn)業(yè)好吧    時(shí)間: 2016-4-20 16:35
能給一個(gè)詳細(xì)連接圖嗎
作者: 斷腸人    時(shí)間: 2017-1-7 17:28
南瓜wyy 發(fā)表于 2015-5-18 15:54
**** 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽 ****

求PM2.5傳感器例程  1508342816@126.com
作者: cc1016    時(shí)間: 2017-2-11 15:46
很有研究?jī)r(jià)值





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1