欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8105|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

零知開源分享-使用SGP30模塊進(jìn)行空氣質(zhì)量監(jiān)測

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:349555 發(fā)表于 2019-5-17 14:04 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
本篇文章中將使用SGP30模塊對空氣中的VOC和CO2進(jìn)行監(jiān)測,獲取空氣質(zhì)量狀況。
1、說明
MCU:零知-標(biāo)準(zhǔn)板


模塊:SGP30多像素氣體傳感器模塊(盛思銳)
注意:模塊的供電標(biāo)準(zhǔn)為1.8V,所以使用時需要接電平轉(zhuǎn)換才可以接到開發(fā)板中。

2、測試demo
  1.   #include "Adafruit_SGP30.h"
  2.   
  3. Adafruit_SGP30 sgp;
  4.   
  5. /* return absolute humidity [mg/m^3] with approximation formula
  6. * @param temperature [°C]
  7. * @param humidity [%RH]
  8. */
  9. uint32_t getAbsoluteHumidity(float temperature, float humidity) {
  10.     // approximation formula from Sensirion SGP30 Driver Integration chapter 3.15
  11.     const float absoluteHumidity = 216.7f * ((humidity / 100.0f) * 6.112f * exp((17.62f * temperature) / (243.12f + temperature)) / (273.15f + temperature)); // [g/m^3]
  12.     const uint32_t absoluteHumidityScaled = static_cast<uint32_t>(1000.0f * absoluteHumidity); // [mg/m^3]
  13.     return absoluteHumidityScaled;
  14. }
  15.   
  16. void setup() {
  17.   Serial.begin(9600);
  18.   Serial.println("SGP30 test");
  19.   
  20.   if (! sgp.begin()){
  21.     Serial.println("Sensor not found :(");
  22.     while (1);
  23.   }
  24.   Serial.print("Found SGP30 serial #");
  25.   Serial.print(sgp.serialnumber[0], HEX);
  26.   Serial.print(sgp.serialnumber[1], HEX);
  27.   Serial.println(sgp.serialnumber[2], HEX);
  28.   
  29.   // If you have a baseline measurement from before you can assign it to start, to 'self-calibrate'
  30.   //sgp.setIAQBaseline(0x8E68, 0x8F41);  // Will vary for each sensor!
  31. }
  32.   
  33. int counter = 0;
  34. void loop() {
  35.   // If you have a temperature / humidity sensor, you can set the absolute humidity to enable the humditiy compensation for the air quality signals
  36.   //float temperature = 22.1; // [°C]
  37.   //float humidity = 45.2; // [%RH]
  38.   //sgp.setHumidity(getAbsoluteHumidity(temperature, humidity));
  39.   
  40.   if (! sgp.IAQmeasure()) {
  41.     Serial.println("Measurement failed");
  42.     return;
  43.   }
  44.   Serial.print("TVOC "); Serial.print(sgp.TVOC); Serial.print(" ppb\t");
  45.   Serial.print("eCO2 "); Serial.print(sgp.eCO2); Serial.println(" ppm");
  46.   delay(1000);
  47.   
  48.   counter++;
  49.   if (counter == 30) {
  50.     counter = 0;
  51.   
  52.     uint16_t TVOC_base, eCO2_base;
  53.     if (! sgp.getIAQBaseline(&eCO2_base, &TVOC_base)) {
  54.       Serial.println("Failed to get baseline readings");
  55.       return;
  56.     }
  57.     Serial.print("****Baseline values: eCO2: 0x"); Serial.print(eCO2_base, HEX);
  58.     Serial.print(" & TVOC: 0x"); Serial.println(TVOC_base, HEX);
  59.   }
  60. }
復(fù)制代碼
把上述完整工程放進(jìn)零知開源開發(fā)工具的庫里即可使用,完整工程可到零知實驗室官網(wǎng)免費獲取。
工程界面如下:


3、測試結(jié)果


如果要使SGP30模塊獲取更精準(zhǔn)的數(shù)據(jù),可以加入溫濕度傳感器進(jìn)行濕度補(bǔ)償,然后再進(jìn)行相關(guān)數(shù)據(jù)的采集。詳情可到零知實驗室官網(wǎng)免費查詢。




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:268888 發(fā)表于 2019-11-5 15:20 | 只看該作者
為什么CO2和甲醛互干擾那么大,吹氣的時候,甲醛傳感器數(shù)值也會增加,甲醛有的時候,CO2也會增加;
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表