給湯器パイロットライト監視システム - サーモカップル電圧をArduinoとRaspberry Piで監視し異常通知
必要な部品と材料
| Raspberry Pi Zero WH | ×1 |
| Arduino Nano R3 | ×1 |
プロジェクト概要
ガス給湯器のパイロットライトが消えるとサーモカップルの起電力(最大30mV)がゼロになり、ガスバルブが閉じる安全機構があります。しかし稀にパイロットライトが消えることがあり、気づかないとお湯が出なくなります。本システムはArduino Nanoでサーモカップル電圧を監視し、Raspberry Pi Zero WH経由でメール/ SMS通知を送ることで、早期発見・再点火を可能にします。ガス漏れリスクはありません(バルブが自動で閉じるため)。
システム構成
- Arduino Nano: 内部1.1V基準電圧でADC(A0ピン)読み取り、30秒ごとにデジタルピン9から単線シグナリングでRaspberry Piへ送信
- Raspberry Pi Zero WH: GPIO16で立上がりエッジ検出、独自プロトコルで2桁数値を復号、電圧換算し閾値判定。5回連続低電圧で通知送信、6時間クールダウン
手順1: Raspberry Piの準備
OSインストール、ネットワーク接続、Python環境構築。通知送信用Pythonスクリプト(HotWaterNotifier.py)を配置。
手順2: Arduinoの準備
安価な互換Nanoの場合、ドライバインストールに手間取ることあり。スケッチ書き込み:内部1.1V基準(analogReference(INTERNAL))でA0読み取り、30秒ごとにシグナリング出力。
手順3: サーモカップル配線への接続
給湯器サーモスタットへ向かう同軸ケーブル(外側がプラス)をサーモスタット手前5インチで切断。外皮を少し剥いて中心線を露出させ、Arduino A0ピンとサーモスタット入力に分岐接続。中心線の絶縁被膜は剥かない(ショート防止)。負極側はArduino GNDとサーモスタット負極に共通接地。ワニ口クリップ付きリード線で仮接続推奨。
手順4: Arduino-Raspberry Pi間のレベル変換
Arduino出力5VをRaspberry Pi許容3.3V以下に降圧するため、抵抗分圧器(電圧分割器)を挿入。単一抵抗では無電流時に5Vのままになるため、2段抵抗分圧が必須。記事内の回路図(550Ω総抵抗例)を参照。全システムのGNDを共通化。
手順5: Arduino側シグナリングプロトコル
ADC値(0〜1023)を2桁10進数として送信。各桁の先頭にキックオフパルス、桁内は20ms間隔でパルス繰り返し(パルス数-1が桁値)、桁間は50ms空白、全体で200ms以内。ピン9から出力。
手順6: Raspberry Pi側受信と判定
PythonでGPIO16の立上がりエッジ待機(wait_for_edge)。パルス間隔から桁を復号し、電圧=ADC値×1.1V/1023を計算。閾値(デフォルトADC≤1、約1mV)以下が5回連続ならアラート。
手順7: 通知送信(Gmail SMTP + キャリアメールゲートウェイ)
- Gmailアカウント作成、アプリパスワード設定(Google公式手順)
smtplibでSMTP送信(TLS、ポート587)- SMSはキャリア提供のメールゲートウェイ利用(例:
5555555555@vtext.comfor Verizon)
手順8: 全接続と常駐化
Arduino→サーモカップル分岐、Arduino→分圧器→Raspberry Pi GPIO16、共通GND。電源投入で自動開始。
起動スクリプト(run_HotWaterNotifier.sh)を作成し、rootのcrontabに@reboot sh /home/pi/hotwater/run_HotWaterNotifier.sh >> /home/pi/hotwater/logs/HotWaterNotifier.log 2>&1を追加で自動起動。手動起動時はctrl-Z → bg → disownでバックグラウンド常駐化。
ソースコード
- Arduinoスケッチ: 記事内掲載(
HotWaterHeater.ino) - Pythonスクリプト: 記事内掲載(
HotWaterNotifier.py) - 起動シェルスクリプト: 記事内掲載(
run_HotWaterNotifier.sh)
製造プロセス
- ホームエナジーセンター:Raspberry PiとMoteinoで太陽光発電、ソーラー熱、室温を監視
- Arduinoで作るモニター用Ambilightシステム:没入感アップの自作ガイド
- Arduinoで実現する低コスト・リアルタイム太陽光パネル監視システム
- Arduino Nanoで水滴を高速撮影 – DIYハイスピードフォトグラフィ
- Arduinoで作る高精度エナジーモニター&データロガー – Dr. Wattsonボード活用
- ArduinoとMAX30100で作るリアルタイムIoT心拍数モニター
- Arduino Dueと3.2インチTFTで作る温度監視付きリアルタイムクロック
- Arduino、高圧ブースト、20x4 LCDで自作ガイガー・ミュラー計数管を作る
- 最適なヒートポンプ給湯器:省エネ給湯ソリューション
- 家庭用給湯循環ポンプの選び方:専門家のヒントとガイド
- 温水循環ポンプの基礎:仕組み・用途・省エネのポイント