.. note:: こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。 **参加する理由は?** - **エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。 - **学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。 - **独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。 - **特別割引**:最新製品の独占割引をお楽しみください。 - **祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。 👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう! .. _ar_thermistor: 5.10 サーミスター温度計 =========================== サーミスターは、温度によって抵抗値が大きく変わる温度センサーで、NTC(負温度係数)タイプとPTC(正温度係数)タイプの二種類に分けられます。NTCサーミスターの抵抗値は温度が上がるにつれて減少し、PTCサーミスターの抵抗値は温度が上がるにつれて増加します。 このプロジェクトではNTCサーミスターを使用します。NTCサーミスターをESP32マイクロコントローラのアナログ入力ピンに接続することで、抵抗値を測定し、これが直接温度に比例します。 NTCサーミスターを取り入れ、必要な計算を行うことで、温度を正確に測定し、I2C LCD1602モジュールに表示することができます。このプロジェクトはリアルタイムで温度監視を行い、温度表示のための視覚的インターフェースを提供します。 **必要な部品** このプロジェクトには、以下のコンポーネントが必要です。 全てのキットを一括購入するのは非常に便利です。こちらがリンクです: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - 名前 - このキットのアイテム - リンク * - ESP32 Starter Kit - 320+ - |link_esp32_starter_kit| 以下のリンクから個別に購入することもできます。 .. list-table:: :widths: 30 20 :header-rows: 1 * - コンポーネントの紹介 - 購入リンク * - :ref:`cpn_esp32_wroom_32e` - |link_esp32_wroom_32e_buy| * - :ref:`cpn_esp32_camera_extension` - |link_esp32_extension_board| * - :ref:`cpn_breadboard` - |link_breadboard_buy| * - :ref:`cpn_wires` - |link_wires_buy| * - :ref:`cpn_resistor` - |link_resistor_buy| * - :ref:`cpn_thermistor` - |link_thermistor_buy| **利用可能なピン** * **利用可能なピン** このプロジェクトでESP32ボード上で利用可能なピンの一覧です。 .. list-table:: :widths: 5 15 * - 利用可能なピン - IO14, IO25, I35, I34, I39, I36 * **ストラッピングピン** 以下のピンはストラッピングピンであり、ESP32の電源オンまたはリセット時の起動プロセスに影響します。しかし、ESP32が正常に起動した後は、通常のピンとして使用できます。 .. list-table:: :widths: 5 15 * - ストラッピングピン - IO0, IO12 **回路図** .. image:: ../../img/circuit/circuit_5.10_thermistor.png 温度が上がると、サーミスターの抵抗値が減少し、I35で読み取る値も下がります。さらに、式を使ってアナログ値を温度に変換し、それを表示します。 **配線図** .. image:: ../../img/wiring/5.10_thermistor_bb.png .. note:: * サーミスターは黒色で、103と記されています。 * 10Kオーム抵抗のカラーリングは赤、黒、黒、赤、茶です。 **コード** .. note:: * ``esp32-starter-kit-main\c\codes\5.10_thermistor`` のパスの下にある ``5.10_thermistor.ino`` ファイルを開いてください。 * ボード(ESP32 Dev Module)と適切なポートを選択した後、 **アップロード** ボタンをクリックしてください。 * :ref:`unknown_com_port` .. raw:: html コードが正常にアップロードされると、シリアルモニターに摂氏と華氏の温度が表示されます。 **どのように動作するのか?** 各サーミスターには通常の抵抗値があります。ここでは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にも表示させることができます。 .. note:: * ``euler-kit/arduino/5.10_thermistor_lcd`` のパスの下にある ``5.10_thermistor_lcd.ino`` ファイルを開いてください。 * ボード(ESP32 Dev Module)と適切なポートを選択した後、 **アップロード** ボタンをクリックしてください。 * :ref:`unknown_com_port` * ここでは ``LiquidCrystal I2C`` ライブラリを使用しています。 **Library Manager** からインストールできます。 .. raw:: html