Raspberry PiにTGS2600ガスセンサーを接続して有毒ガスを検知
悪臭の主原因である揮発性硫黄化合物の検知には、低濃度を感知できるセンサーが必要です。Figaro TGS2600はこの目的のために設計されています。加熱されたセンシング素子を使用し、硫化水素やメタンなどのガスに曝露されると電気抵抗が変化します。この抵抗変化を測定することで、センサーはガス濃度の増加に伴って上昇するアナログ電圧を出力します。
アナログ信号とデジタル信号
デジタル信号が厳密にバイナリ(0または1)であるのに対し、アナログ信号は連続的な範囲をカバーします。簡単なアナロジーはステアリングホイール:優しく回すことも完全にロックすることもできますが、デジタルステアリングシステムでは完全左または完全右のみ許可されます。TGS2600はフルレンジのアナログ電圧を生成しますが、Raspberry PiのGPIOピンはデジタル状態のみ読み取れます。
Piでアナログをデジタルに変換
PiのGPIOピンは3.3Vデジタル入力です。約1.1V未満の電圧が印加されるとピンはLOWを読み取り、約1.4V以上ではHIGHを読み取ります。センサーがスパイクを検知したときにアラームをトリガーするには、センサー出力を閾値直下に保ち、突然の上昇でHIGH範囲にクロスさせます。これにより、正確な濃度値が不要な限り外部ADCを必要としません。
抵抗ラダーで閾値を設定
TGS2600の出力は0V(清浄な空気)から3.3V(深刻な汚染)まで変動します。単一の47kΩ抵抗で信号をグラウンド側に引き下げますが、背景空気の変動でもGPIO閾値を超える可能性があります。ここで、デジタル制御抵抗ラダー(各GPIOピンに接続された4つの47kΩ抵抗)を追加することで、抵抗を選択的にグラウンドに接続し、実効抵抗をリアルタイムで調整できます。この「デジタル-アナログ」変換により、Piは手動チューニングなしで変化する背景条件下でも安定した検知閾値を維持できます。
センサーの配線
センサーには4つのピンがあります:
- ヒーター負極
- センサー電極負極
- センサー電極正極
- ヒーター正極
センサーをブレッドボードの中央ギャップに配置。ピン3と4を3.3Vに、ピン1と2をグラウンドに接続。センサー出力(ピン2)が抵抗ラダーとトリガーGPIOに供給されます。
トリガーピンの接続
Piの電源を切り、センサー出力をGPIO 4に接続。出力とグラウンド間に47kΩ抵抗を追加して基準電圧を設定。追加の抵抗は次のセクションで追加します。
抵抗ラダーDACの構築
残りの4つの47kΩ抵抗それぞれを、センサー出力と専用GPIOピンに並列接続。ピンをOUTPUTに設定してLOWを駆動すると、その抵抗がグラウンドに接続され、センサー電圧を下げます。ピンをINPUTに設定すると、抵抗が実質的に切断されます。アクティブな抵抗の組み合わせが総シャント抵抗を定義し、Piが背景条件の変化に関わらずセンサー出力をHIGH閾値直下に保てるようにします。
仕組み
並列接続のため、総シャント抵抗は常に個々の抵抗より小さくなります。より多くの抵抗がアクティブになると、実効抵抗が減少し、センサーからより多くの電流を引き出し、出力電圧を低下させます。このアナログ信号に対するデジタル制御は、本質的に低コストDACであり、応答性と精度の高いガス検知を可能にします。
詳細なガイダンスについては、完全チュートリアルを参照: Raspberry Piにセンサーを接続して有毒ガスを警告!
製造プロセス
- 5ドルI2C温度センサーで作るRaspberry Pi温度ロガー
- Raspberry Piで気象観測ステーションを構築し、日次天気データをメール送信
- HC-SR04超音波距離センサーをRaspberry Pi 3に接続 – 完全ガイド
- Raspberry PiでPIRモーションセンサーとLEDを制御
- Raspberry Piで低コスト土壌水分センサーを構築 - スマート灌漑に活用
- Raspberry Piフィットネストラッカーでハムスターの日々の運動量を追跡
- Raspberry PiとDS18B20でマルチセンサー温度・光監視システムを構築
- Raspberry Piでセンサーとアクチュエータを制御:加速度計、サーボ、データストリーミング
- Lego Mindstorms NXT超音波センサーをRaspberry Piに直接接続する
- Raspberry Pi、DHT11、ThingSpeakで作る初めてのIoTプロジェクト
- Raspberry Pi、MCP9808、InfluxDB、Grafanaで作る家庭温度モニター