.. note:: こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。 **参加する理由は?** - **エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。 - **学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。 - **独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。 - **特別割引**:最新製品の独占割引をお楽しみください。 - **祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。 👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう! .. _per_smart_fan: 2.12 スマートファン ============================= このプロジェクトでは、サーミスター、TA6586、モーター、および電源モジュールを使用して、温度制御型のスマートファンを作成します。設定温度に達すると、ファンは自動的に回転します。 このプロジェクトで必要なコンポーネントは以下の通りです。 一式を購入する方が便利です、リンクはこちら: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - 名前 - このキットに含まれるアイテム - リンク * - Kepler Kit - 450+ - |link_kepler_kit| 以下のリンクから個々にも購入できます。 .. list-table:: :widths: 5 20 5 20 :header-rows: 1 * - SN - コンポーネント - 数量 - リンク * - 1 - :ref:`cpn_pico_w` - 1 - |link_picow_buy| * - 2 - Micro USBケーブル - 1 - * - 3 - :ref:`cpn_breadboard` - 1 - |link_breadboard_buy| * - 4 - :ref:`cpn_wire` - 数本 - |link_wires_buy| * - 5 - :ref:`cpn_ta6586` - 1 - * - 6 - :ref:`cpn_motor` - 1 - |link_motor_buy| * - 7 - :ref:`cpn_lipo_charger` - 1 - * - 8 - 18650バッテリー - 1 - * - 9 - バッテリーホルダー - 1 - * - 10 - :ref:`cpn_resistor` - 1(10KΩ) - |link_resistor_buy| * - 11 - :ref:`cpn_photoresistor` - 1 - |link_photoresistor_buy| **配線** |temperature_controlled_fan0| **コード** .. note:: * 以下の画像を参照して、ドラッグアンドドロップでコードを作成できます。 * ``kepler-kit-main\piper`` のパスから ``2.12_smart_fan.png.png`` をインポートしてください。詳細なチュートリアルは、 :ref:`import_code_piper` を参照してください。 |temperature_controlled_fan| * Pico Wに接続した後、 **スタート** ボタンをクリックしてコードが実行されます。 * CONSLEをクリックすると、現在の温度が摂氏で表示されます。 * 温度が25度以上の場合、ファンは回転を開始し、25度未満の場合は停止します。 .. note:: * モーターが停止ボタンをクリックした後も回転し続ける場合、この時点でPico WのRunピンをGNDにワイヤーでリセットしてから、再度このワイヤーを抜いてコードを実行する必要があります。 * これは、モーターが多くの電流を使用しているため、Pico Wがコンピュータから切断される可能性があるからです。 |wiring_run_reset| **仕組み** |temperature_controlled_fan1| A0(GP26)の電圧が読み取られ、変数[Vr]に割り当てられます。 |temperature_controlled_fan2| これらの計算は、サーミスターの値を摂氏度に変換します。 .. note:: ここでは、抵抗と温度の関係があります: **RT =RN expB(1/TK – 1/TN)** * RTは、温度がTKの場合のNTCサーミスターの抵抗です。 * RNは、定格温度TNでのNTCサーミスターの抵抗です。ここでは、RNの数値は10kです。 * TKはケルビン温度で、単位はKです。ここでは、TKの数値は273.15 + 摂氏度です。 * TNは、定格ケルビン温度で、単位もKです。ここでは、TNの数値は273.15+25です。 * B(ベータ)はNTCサーミスターの材料定数であり、また熱感度指数とも呼ばれ、数値は3950です。 * expは指数の略で、底数eは自然数であり、約2.7です。 この式 **TK=1/(ln(RT/RN)/B+1/TN)** を変換して、ケルビン温度から273.15を引くと摂氏度になります。 この関係式は経験式です。温度と抵抗が有効範囲内である場合のみ正確です。 |temperature_controlled_fan5| 温度が25度摂氏を超える場合は、GP14をONにしてGP15をOFFに設定してモーターを回転させます。逆に、温度が25度摂氏以下の場合は、GP14とGP15の両方を低く設定してモーターを停止させます。