注釈
こんにちは、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ボード上で利用可能なピンの一覧です。
利用可能なピン
IO14, IO25, I35, I34, I39, I36
ストラッピングピン
以下のピンはストラッピングピンであり、ESP32の電源オンまたはリセット時の起動プロセスに影響します。しかし、ESP32が正常に起動した後は、通常のピンとして使用できます。
ストラッピングピン
IO0, IO12
回路図
温度が上がると、サーミスターの抵抗値が減少し、I35で読み取る値も下がります。さらに、式を使ってアナログ値を温度に変換し、それを表示します。
配線図
注釈
サーミスターは黒色で、103と記されています。
10Kオーム抵抗のカラーリングは赤、黒、黒、赤、茶です。
コード
注釈
esp32-starter-kit-main\c\codes\5.10_thermistor
のパスの下にある5.10_thermistor.ino
ファイルを開いてください。ボード(ESP32 Dev Module)と適切なポートを選択した後、 アップロード ボタンをクリックしてください。
コードが正常にアップロードされると、シリアルモニターに摂氏と華氏の温度が表示されます。
どのように動作するのか?
各サーミスターには通常の抵抗値があります。ここでは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)と適切なポートを選択した後、 アップロード ボタンをクリックしてください。
ここでは
LiquidCrystal I2C
ライブラリを使用しています。 Library Manager からインストールできます。