Groveで広がるArduinoの世界-Step2-② Grove HCHO sensor

 Grove HCHO sensorは、 semiconductor VOC gas sensorと呼ばれ、デバイスにはWSP2110 VOC Gas Sensorが使われています。出力はアナログです。

HCHO sensorのおもな特徴

  • 原理 セラミック基板上のヒータと金属酸化物半導体で構成され、センサの導電率を測っている
  • 検出ガス トルエン、メタナール、ベンゼン、アルコール、アセトンなど
  • 検出範囲 1〜50ppm
  • 動作電圧 5.0V±0.3V
  • センサ抵抗値(Rs) 10~100kΩ(10ppm HCHO)

 解説ページ GroveGasGrove - HCHO Sensor

使いかた

 最初に次のスケッチを実行します。センサの出力はアナログ入力A0なので、GroveコネクタもA0に挿し込みます。

// demo of Grove - HCHO Sensor
 
#define Vc 4.95
 
void setup()
{
    Serial.begin(9600);
}
 
void loop()
{
    int sensorValue=analogRead(A0);
    float R0=(1023.0/sensorValue)-1;
    Serial.print("R0 = ");
    Serial.println(R0);
    delay(500);
}

 空気のきれいなところへ持っていって表示の値を読み取ります。実際は、机の上に30分ほど放置したら、ずっと22.25を表示していました。下記のスケッチに、#define R0 22.25と記述します。10~100に範囲にはいらないときは、半固定抵抗を回して調整するようにと解説があります。

// demo of Grove - HCHO Sensor
#include  <math.h>
#define Vc 4.95
//the number of R0 you detected just now
#define R0 22.25
 
void setup()
{
    Serial.begin(9600);
}
 
void loop()
{
    int sensorValue=analogRead(A0);
    double Rs=(1023.0/sensorValue)-1;
    Serial.print("Rs = ");
    Serial.println(Rs);
    double ppm=pow(10.0,((log10(Rs/R0)-0.0827)/(-0.4807)));
    Serial.print("HCHO ppm = ");
    Serial.println(ppm);
    delay(1000);
}


 実行中の様子です。

 ウイスキーの近くにもっていきました。



感度曲線
 実用的なガス・センサにしたい場合は、こちらのページに解説しているように、アルコールやトルエンなどの値を測定し近似曲線を作ります。

前へ

Groveで広がるArduinoの世界-Step2-① Grove-LCD RGB Backlight

次へ

Groveで広がるArduinoの世界-Step2-③ Grove Gas Sensor(MQ9)