Grove - アルコールセンサー
この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues
Grove - アルコールセンサーは、ArduinoまたはSeeeduino用の完全なアルコールセンサーモジュールです。MQ303A半導体アルコールセンサーを搭載しています。このセンサーはアルコールに対して高い感度と迅速な応答性を持ち、アルコール検知器(Breathalyzer)の製作に適しています。このGroveモジュールは、MQ303Aに必要な回路(電源調整やヒーター電源供給など)をすべて実装しています。このセンサーは、空気中のアルコール濃度に反比例する電圧を出力します。
注意
センサー値は、許容誤差範囲内でガス濃度の概略的な傾向を反映するだけであり、正確なガス濃度を示すものではありません。空気中の特定の成分を検出するには、通常、より精密で高価な機器が必要であり、単一のガスセンサーでは実現できません。プロジェクトで非常に正確なレベルでガス濃度を取得することを目的としている場合、このガスセンサーは推奨されません。[Seeed Gas Sensor Selection Guide](https://wiki.seeedstudio.com/ja/Seeed_Gas_Sensor_Selection_Guide/)を公開しました。このガイドは、あなたのニーズに最適なガスセンサーを選ぶのに役立ちます。
特徴
- 入力電圧: 5V
- 動作電流: 120mA
- 検出可能濃度: 20-1000ppm
- Grove互換コネクタ
- アルコールに対して高感度
- アルコール曝露後の迅速な応答と回復
- 長寿命
- コンパクトな形状
Groveモジュールの詳細については、[Grove System](https://wiki.seeedstudio.com/ja/Grove_System/)を参照してください。
対応プラットフォーム
Arduino | Raspberry Pi |
---|---|
上記で対応しているとされるプラットフォームは、モジュールのソフトウェアまたは理論的な互換性を示しています。ほとんどの場合、Arduinoプラットフォーム向けのソフトウェアライブラリやコード例のみを提供しています。すべての可能なMCUプラットフォーム向けにソフトウェアライブラリやデモコードを提供することは不可能です。そのため、ユーザーは独自のソフトウェアライブラリを作成する必要があります。
使用方法
ハードウェアのインストール
Grove製品はエコシステムを持ち、すべて同じコネクタを備えており、Grove Base Shieldに接続できます。このモジュールをBase ShieldのA0ポートに接続してください。ただし、ジャンパーワイヤーを使用してBase ShieldなしでArduinoにガスセンサーを接続することも可能です。
Arduino UNO | アルコールセンサー |
---|---|
5V | VCC |
GND | GND |
アナログ A1 | SCL |
アナログ A0 | DAT |
センサーのDATピンを通じて現在の電圧を取得できます。センサーの最適な予熱時間は48時間以上です。アルコールセンサーの詳細情報については、データシートを参照してください。
コードのダウンロードとアップロード
ガス濃度を取得する前に、以下の2つのステップを実行する必要があります。
まず、上記の写真のようにA0を使用してモジュールをGrove Shieldに接続します。そして、センサーを清浄な空気中に置き、以下のプログラムを使用します。
#define heaterSelPin 15
void setup() {
Serial.begin(9600);
pinMode(heaterSelPin,OUTPUT); // heaterSelPinをデジタル出力として設定
digitalWrite(heaterSelPin,LOW); // センサーの加熱を開始
}
void loop() {
float sensor_volt;
float RS_air; // 清浄な空気中でRSの値を取得
float sensorValue = 0;
/*--- 100回のテストで平均データを取得 ---*/
for(int x = 0 ; x < 100 ; x++)
{
sensorValue = sensorValue + analogRead(A0);
}
sensorValue = sensorValue/100.0;
/*---------------------------------------*/
sensor_volt = sensorValue/1024*5.0;
RS_air = sensor_volt/(5.0-sensor_volt); // *R16を省略
Serial.print("sensor_volt = ");
Serial.print(sensor_volt);
Serial.println("V");
Serial.print("RS_air = ");
Serial.println(RS_air);
delay(1000);
}
次に、Arduino IDEのモニターを開き、いくつかのデータが表示されるのを確認します。RS_airの値を書き留めてください。この値は後続のプログラムで使用する必要があります。このステップでは、RS_airの値をテストするために少し時間をかけるかもしれません。
#define heaterSelPin 15
void setup() {
Serial.begin(9600);
pinMode(heaterSelPin,OUTPUT); // heaterSelPinをデジタル出力として設定します。
digitalWrite(heaterSelPin,LOW); // センサーの加熱を開始します。
}
void loop() {
float sensor_volt;
float RS_gas; // GAS中のRSの値を取得
float ratio; // RS_GAS/RS_airの比率を取得
int sensorValue = analogRead(A0);
sensor_volt=(float)sensorValue/1024*5.0;
RS_gas = sensor_volt/(5.0-sensor_volt); // *R16を省略
/*-最初のテストのデモでのR0の値を"R0"の名前に置き換えます-*/
ratio = RS_gas/RS_air; // ratio = RS/R0
/*-----------------------------------------------------------------------*/
Serial.print("sensor_volt = ");
Serial.println(sensor_volt);
Serial.print("RS_ratio = ");
Serial.println(RS_gas);
Serial.print("Rs/R0 = ");
Serial.println(ratio);
Serial.print("\n\n");
delay(1000);
}
次に、以下の図からガスの濃度を取得できます。
図によると、テスト可能な最小濃度は20ppm、最大濃度は10000ppmであることがわかります。言い換えれば、0.002%から1%の範囲でガス濃度を取得できます。ただし、比率と濃度の関係は非線形であるため、公式を提供することはできません。
注意事項
a. 値は500〜905の範囲で変動します。そのため、650以上の値は周囲にアルコール蒸気が存在することを示します。
b. アルコール蒸気にさらされると、センサー値が完全に減少するまでに時間がかかります。
c. ただし、新たな曝露があるとセンサー値は即座に増加します。
注意
a. アルコールセンサーは非常に敏感な半導体デバイスです。慎重に取り扱ってください。
b. 有機シリコン蒸気、アルカリ、腐食性ガスにさらさないでください。
c. 凍結や水のこぼれを避けてください。
d. 適切な動作電圧を維持してください。
Grove-Alcohol Sensor
Grove-Alcohol Sensor v1.2
リソース
技術サポートと製品ディスカッション
産業用センサーへのアップグレード可能
SenseCAP S2110コントローラーとS2100データロガーを使用することで、Groveを簡単にLoRaWAN®センサーに変えることができます。Seeedはプロトタイピングをサポートするだけでなく、SenseCAPシリーズの堅牢な産業用センサーを使用してプロジェクトを拡張する可能性も提供します。
IP66の筐体、Bluetooth設定、グローバルLoRaWAN®ネットワークとの互換性、内蔵19Ahバッテリー、そして強力なAPPサポートにより、SenseCAP S210xは産業用途に最適な選択肢となります。このシリーズには、土壌水分、空気温度と湿度、光強度、CO2、EC、そして8-in-1の気象ステーション用センサーが含まれています。次の成功する産業プロジェクトには最新のSenseCAP S210xを試してみてください。