Arduino初心者が温度センサーを動かすまで

品質保証
OLYMPUS DIGITAL CAMERA

~Old Bootloaderと接触不良に悩まされた1日~

以前から考えていたPCケース内の温度監視システム。

まずは基本となる温度測定から始めることにしました。

使用したのは安価なArduino Nano互換機とNTCサーミスタです。

なぜ温度監視を作ろうと思ったのか

昨年、Windows 10のサポート終了をきっかけに、Windows 11対応PCへの更新を検討しました。

メーカー製PCも候補に挙がりましたが、性能と価格のバランスを考え、約20数年ぶりにパーツを一から選定し、自作PCを組み立てることにしました。

CPUにはRyzen 9 7900、GPUにはGeForce RTX 5070を選択し、年末までは組み立てや設定、トラブル対応に多くの時間を費やしました。

その後は安定して動作していましたが、梅雨入りとともに気温が上昇し始めると、これまで気にならなかったPCファンの動作音が耳につくようになりました。

ファンの回転数が上がるということは、PC内部のどこかで温度が上昇しているはずです。しかし、CPUやGPUの温度はソフトウェアで確認できても、

  • ケース内のどこが熱くなっているのか
  • SSD周辺の温度はどうなっているのか
  • 吸気と排気でどれくらい温度差があるのか

までは分かりません。

そこで、

「PCケース内の温度分布を見える化してみよう」

と思ったのが、このプロジェクトを始めたきっかけです。

目標

  • ケース内7か所の温度を同時測定
  • 温度変化を長時間記録
  • ファン構成や設置場所の最適化
  • Raspberry Piによるデータロガー化

最終的にはケース内の温度分布をリアルタイム表示し、さらに室温やエアコンとも連携できれば面白いと考えています。


使用した部品

今回購入したのは以下の部品です。

  • Arduino Nano互換機
  • NTCサーミスタ(10kΩ)
  • 10kΩ抵抗
  • ブレッドボード
  • ジャンパ線

部品代は合計しても数千円程度です。

昔、品質保証の仕事で使用していた温度記録計は数十万円していました。

それを考えると驚くほど安価です。

高価な計測器を購入するのではなく、ArduinoやRaspberry Pi、安価な温度センサーを活用しながら、

どこまで実用的な温度監視システムを構築できるのか挑戦してみたいと思います。


最初の関門

Arduino IDEをインストールし、Nanoを接続。

ところが書き込みでエラーが発生しました。

programmer is not responding
not in sync

最初は故障かと思いましたが、調べてみるとNano互換機では定番の問題らしく、

ATmega328P (Old Bootloader)

へ変更することで解決しました。

このあたりは経験者にとっては常識かもしれませんが、久しぶりのArduinoだった私には少し戸惑うポイントでした。


温度が変わらない

次にNTCサーミスタを接続して動作確認。

ADC値を表示するプログラムを書いてみました。

しかし、

283
284
283

と表示されるだけで変化しません。

指でつまんでも変わらない。

プログラムがおかしいのかと思いましたが、原因はもっと単純でした。


原因は接触不良

確認してみると、

A0入力と抵抗の接続がブレッドボード上でうまく刺さっていませんでした。

配線を修正すると、

419
425
430

と数値が変化するようになりました。

品質保証の仕事をしていると、

「ソフトの問題だと思ったら実は接触不良」

ということはよくあります。

今回もまさにそのパターンでした。


温度表示に挑戦

次はADC値を温度へ変換します。

最初は計算式の向きが逆になっており、

23℃

指でつまむ

18℃

という不思議な結果になりました。

しかし計算式を修正すると、

室温付近で

27℃

を表示するようになりました。


指で温めてみる

センサーを指でつまんでみると、

27℃

30℃

32℃

と温度が上昇。

センサーがきちんと人体の熱に反応していることが確認できました。

画面に表示される温度が変化した瞬間は、なかなか感動があります。


今後の展開

今回完成したのは1点温度計です。

次のステップとして、

  • CPUクーラー周辺
  • GPU周辺
  • SSD周辺
  • ケース排気口

など複数箇所へセンサーを設置し、ケース内の熱の流れを可視化したいと思っています。

最終的には、

  • 温度ログ保存
  • グラフ表示
  • ファン制御
  • エアコン制御

まで発展できれば面白いと思います。


おわりに

久しぶりにArduinoを触りましたが、

「まず動かしてみる」

ことの大切さを改めて感じました。

今回も、

  • Bootloader設定
  • 接触不良
  • 計算式の修正

と、いくつかの壁がありましたが、そのたびに原因を探して解決する過程が楽しいものです。

完成品よりも、こうした試行錯誤の方がDIYの醍醐味なのかもしれません。

次回は、PCケース内の多点温度測定に挑戦したいと思います。

タイトルとURLをコピーしました