3. 製作

  3.1 デジタル温度計の作製
  3.1.1 回路設計

 まずはサーミスタと液晶モジュールを組み合わせてデジタル温度計を作製します。回路が動作する流れについて考えると、
マイコンからサーミスタ素子に電圧を出力

サーミスタ素子からマイコンに出力される信号を読み取る

読み取った信号を温度に換算し、液晶モジュールに表示させる
という流れになります。
 この流れを考えながら回路を組み立てると図1のようになります。電源電圧は5Vを使用することにしたので、サーミスタと液晶モジュールの入力電圧の端子をマイコンの5Vの端子と接続します。サーミスタの出力ピンはマイコンのアナログ信号入力側のA0~A7のどこか1カ所を選んで接続するのですが、今回はA6を選択しました。また、液晶モジュールのSDA、SCL端子はマイコンの仕様書をみたところ、それぞれA4、A5が対応していることがわかったので、そこに接続します。

  3.1.2 プログラム設計

 まずは、サーミスタで読み込んだ信号を温度に変換するところから始めます。
 サーミスタが出力する信号をマイコンのA/Dコンバーターでデジタル化して表示すると、図2のようになりました。これはA/Dコンバーターのカウント値を表示しています。このカウント値を温度に換算するための計算式について考えます。
 今回使用しているマイコンに搭載されているA/Dコンバーターは10ビット、サーミスタ素子で出力する電圧の範囲は0~5Vであることから、A/Dカウント1単位あたりの電圧は次のように計算されます。
5 (V) ÷ (210- 1) ≒ 4.88 × 10-3 (V) ≒ 4.9 (mV)
したがって、例えばサーミスタが出力した170というカウント値を電圧に変換すると、
4.9 (mV) × 170 = 833 (mV)
ということになります。
 この電圧を今度はサーミスタの電圧/温度特性から、温度に換算します。サーミスタの仕様から0℃のときは500 mV、温度係数は10 mV/℃でしたので、833 mVを温度に換算すると、つぎのように計算されます。
(833 - 500) (mV) ÷ 10 (mV / ℃) = 33.3 (℃)
  これでサーミスタが測定している温度がわかりました。したがってA/Dカウント値をiとしたとき、次のように計算をすると、サーミスタで測定した温度t(℃)がわかることになります。
t = {5 × 1000 ÷(210-1)× i - 500 }÷ 10
 A/Dカウント値に対してこの計算し、その計算結果に続けて“℃”を表示させるようにプログラムを組むと、今度は図3のようになりました。

図2
マイコンで表示させた
サーミスタ素子のA/Dカウント値

図3
A/Dカウント値を温度に換算して
表示させた画面

写真6
サーミスタで測定した温度を
表示させた液晶画面
 次にこの結果を液晶モジュールのディスプレイに表示させるようにプログラムを書きます。このプログラムは一から書くとなると初心者にとってはかなり大変な作業になるので、液晶モジュールの型番からインターネットでオープンソースとして公開されているコードを探します。そのコードを参考にしながらプログラムを書いていくと、写真6のように液晶画面に温度を表示させることができるようになりました。これでやっとデジタル温度計が完成です。