Arduino製 屋外温度計 - トレンド/最高/最低温度表示機能付き
概要
Arduino UNO と高精度 NTC サーミスタ(B+B Thermo Technik TS-NTC-103、10kΩ)を用いた屋外温度計です。16×2 文字 LCD に現在温度のほか、最高・最低温度と温度変化トレンド(上昇/下降矢印)を表示。プッシュボタンで最高/最低値を現在値にリセットできます。
特徴
- 高精度測定: ±0.5% 公差の NTC と 0.1% 公差メタルフィルム抵抗で分圧、シュタインハート・ハート式で演算
- 移動平均処理: 30 回測定(90 秒分)の移動平均でノイズ除去
- トレンド表示: ヒステリシス付き矢印で温度変化傾向を表示
- 最高/最低記録: 電源投入後からの最高・最低温度を保持、ボタンでリセット可能
- ノイズ対策: NTC ケーブルと LCD クロックノイズ対策にデカップリングコンデンサを実装
必要な部品
| 部品 | 数量 | 備考 |
|---|---|---|
| Arduino UNO | 1 | |
| 16×2 LCD(白文字/青背景、I²C 変換基板付き推奨) | 1 | |
| TS-NTC-103(10kΩ、±0.5%) | 1 | B+B Thermo Technik 製 |
| メタルフィルム抵抗 10kΩ 0.1% | 1 | 分圧用 |
| 可変抵抗 10kΩ | 1 | LCD コントラスト調整用 |
| 抵抗 820Ω / 10kΩ | 各1 | バックライト・プルアップ用 |
| セラミックコンデンサ 0.1μF (100nF) | 2 | NTC 入力と LCD 電源に各1 |
| 電解コンデンサ 470μF 16V | 1 | 5V ライン安定化用 |
| タクトスイッチ(常時開) | 1 | 最高/最低リセット用 |
| 12V 2A AC アダプタ | 1 | Arduino 給電用 |
| ケース(任意) | 1 | 屋外設置用防水ケース推奨 |
センサと測定原理
NTC サーミスタ TS-NTC-103
抵抗公差 ±0.5%、B 定数公差 ±0.5% の高精度品。-60〜+150°C の広範囲に対応し、25°C で 10kΩ。本プロジェクトでは -10〜+30°C の使用範囲に最適化したシュタインハート・ハート係数(A, B, C)を自前で算出し、β 式より高精度な近似を実現しています。
ノイズ対策の詳細
- NTC 信号線(アナログピン)〜 GND 間に 0.1μF コンデンサで高周波ノイズ除去
- LCD モジュールの VDD〜VSS 間に 0.1μF を基板直付け(配線 1cm 以内)でクロックノイズ対策
- Arduino 5V〜GND 間に 470μF 電解コンデンサでスイッチング電源リップル除去
設置上の注意
- 直射日光が当たらない場所(北側の壁面、または家屋から離れた日陰)
- 壁面から数 mm 離して取り付け(壁の蓄熱影響を避ける)
- 暖房機器の背面壁は避ける
ソフトウェア構成
LiquidCrystalライブラリで LCD 制御- 測定間隔: 3 秒(定数
interval) - 移動平均サンプル数: 30(定数
numReadings) - シュタインハート・ハート係数はスケッチ冒頭で定義(他の NTC 使用時は書き換え必要)
- トレンド判定にヒステリシスを導入(v1.3〜)
係数算出方法
メーカー仕様書の抵抗-温度データから、使用温度範囲内の 3 点(例: -10°C, 0°C, +20°C)を選び、Stanford Research Systems のオンライン計算機で A, B, C を算出。β 式より誤差が小さく、実測 25°C で 25.0035°C と高精度(β 式では 25.77°C)。
リソース
- NTC 係数計算ツール: Stanford Research Systems NTC Calculator
製造プロセス
- QR・RFID・体温検知統合アクセス制御システム(Raspberry Piベース)
- 複数DS18B20 1-WireセンサーをRaspberry Pi接続で精密温度監視
- Raspberry Pi 2でDS18B20温度センサー読み取りガイド
- Raspberry PiでMaxim 1-WireセンサーとDS2482 I2Cブリッジを用いた温度測定
- Raspberry PiとPythonでリモート温度センサーを構築 – ステップバイステップガイド
- EzTempでRaspberry Pi上の温度・湿度をシームレスに監視
- Raspberry Piでサーバークローゼットの温度を正確に監視
- DIY自家醸造温度制御:Arduinoで監視・調節
- Raspberry Piで室温監視 – Gnuplotグラフとメールアラート
- Raspberry PiとDS18B20でマルチセンサー温度・光監視システムを構築
- Raspberry Pi と Python でロボットを構築:完全ガイド