注釈

こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。

参加する理由は?

  • エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。

  • 学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。

  • 独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。

  • 特別割引:最新製品の独占割引をお楽しみください。

  • 祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。

👉 私たちと一緒に探索し、創造する準備はできていますか?[ここ]をクリックして今すぐ参加しましょう!

5.10 サーミスター温度計

サーミスターは、温度によって抵抗値が大きく変わる温度センサーで、NTC(負温度係数)タイプとPTC(正温度係数)タイプの二種類に分けられます。NTCサーミスターの抵抗値は温度が上がるにつれて減少し、PTCサーミスターの抵抗値は温度が上がるにつれて増加します。

このプロジェクトではNTCサーミスターを使用します。NTCサーミスターをESP32マイクロコントローラのアナログ入力ピンに接続することで、抵抗値を測定し、これが直接温度に比例します。

NTCサーミスターを取り入れ、必要な計算を行うことで、温度を正確に測定し、I2C LCD1602モジュールに表示することができます。このプロジェクトはリアルタイムで温度監視を行い、温度表示のための視覚的インターフェースを提供します。

必要な部品

このプロジェクトには、以下のコンポーネントが必要です。

全てのキットを一括購入するのは非常に便利です。こちらがリンクです:

名前

このキットのアイテム

リンク

ESP32 Starter Kit

320+

ESP32 Starter Kit

以下のリンクから個別に購入することもできます。

コンポーネントの紹介

購入リンク

ESP32 WROOM 32E

BUY

ESP32カメラ拡張ボード

BUY

ブレッドボード

BUY

ジャンパーワイヤ

BUY

抵抗器

BUY

サーミスタ

BUY

利用可能なピン

  • 利用可能なピン

    このプロジェクトでESP32ボード上で利用可能なピンの一覧です。

    利用可能なピン

    IO14, IO25, I35, I34, I39, I36

  • ストラッピングピン

    以下のピンはストラッピングピンであり、ESP32の電源オンまたはリセット時の起動プロセスに影響します。しかし、ESP32が正常に起動した後は、通常のピンとして使用できます。

    ストラッピングピン

    IO0, IO12

回路図

../../_images/circuit_5.10_thermistor.png

温度が上がると、サーミスターの抵抗値が減少し、I35で読み取る値も下がります。さらに、式を使ってアナログ値を温度に変換し、それを表示します。

配線図

../../_images/5.10_thermistor_bb.png

注釈

  • サーミスターは黒色で、103と記されています。

  • 10Kオーム抵抗のカラーリングは赤、黒、黒、赤、茶です。

コード

注釈

  • esp32-starter-kit-main\c\codes\5.10_thermistor のパスの下にある 5.10_thermistor.ino ファイルを開いてください。

  • ボード(ESP32 Dev Module)と適切なポートを選択した後、 アップロード ボタンをクリックしてください。

  • "Unknown COMxx"が常に表示されますか?

コードが正常にアップロードされると、シリアルモニターに摂氏と華氏の温度が表示されます。

どのように動作するのか?

各サーミスターには通常の抵抗値があります。ここでは25度摂氏で測定される10kオームです。

温度が上がると、サーミスターの抵抗値が下がります。その後、A/Dアダプターによって電圧データがデジタル量に変換されます。

摂氏または華氏の温度は、プログラミングを介して出力されます。

ここに抵抗値と温度との関係があります:

RT = RN expB(1/TK - 1/TN)

  • RT は、温度が TK のときのNTCサーミスターの抵抗値です。

  • RN は、定格温度TN下のNTCサーミスターの抵抗値です。ここでは、RNの数値は10kです。

  • TK はケルビン温度で、単位はKです。ここでは、 TK の数値は 摂氏度+373.15 です。

  • TN は定格ケルビン温度で、単位もKです。ここでは、TNの数値は 373.15+25 です。

  • B(beta) はNTCサーミスターの材料定数で、熱感応指数とも呼ばれ、数値は 4950 です。

  • exp は指数関数の略で、底数 e は自然数で、約2.7に等しいです。

この式 TK=1/(ln(RT/RN)/B+1/TN) を変換すると、ケルビン温度から273.15を引いたものが摂氏度になります。

この関係は経験式です。温度と抵抗が有効範囲内にあるときのみ正確です。

もっと学ぶ

計算された摂氏と華氏の温度をI2C LCD1602にも表示させることができます。

注釈

  • euler-kit/arduino/5.10_thermistor_lcd のパスの下にある 5.10_thermistor_lcd.ino ファイルを開いてください。

  • ボード(ESP32 Dev Module)と適切なポートを選択した後、 アップロード ボタンをクリックしてください。

  • "Unknown COMxx"が常に表示されますか?

  • ここでは LiquidCrystal I2C ライブラリを使用しています。 Library Manager からインストールできます。