.. note:: こんにちは、FacebookのSunFounder Raspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!ラズベリーパイ、アルドゥイーノ、ESP32について、同じ趣味を持つ人々とさらに深く探求しましょう。 **参加する理由は?** - **専門家によるサポート**: コミュニティとチームの助けを借りて、販売後の問題や技術的な課題を解決します。 - **学びと共有**: 技術を磨くためのヒントやチュートリアルを交換しましょう。 - **独占プレビュー**: 新製品の発表やちら見せに早期アクセスが可能です。 - **特別割引**: 最新製品を特別割引価格でお楽しみください。 - **祝祭プロモーションとギブアウェイ**: ギブアウェイや休日のプロモーションに参加しましょう。 👉 私たちと一緒に探求し、創造しませんか?[|link_sf_facebook|]をクリックして今すぐ参加! .. _ar_pump: 3.6 小型水ポンプの制御 ============================= このレッスンでは、Raspberry Pi Pico 2と **L293Dモータードライバー** を使用して **小型水ポンプ** を制御する方法を学びます。小型遠心ポンプは、自動植物水やりシステムや小型水景の作成などのプロジェクトに使用できます。ポンプの制御はDCモーターの制御と似ており、同じ原理を使用します。 **必要なもの** このプロジェクトには、以下のコンポーネントが必要です。 全てのキットを購入するのが便利ですが、こちらがリンクです: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - 名前 - このキットのアイテム - リンク * - Newton Lab Kit - 450以上 - |link_newton_lab_kit| 個別に購入することもできます。以下のリンクからどうぞ。 .. list-table:: :widths: 5 20 5 20 :header-rows: 1 * - SN - コンポーネント - 数量 - リンク * - 1 - :ref:`cpn_pico_2` - 1 - |link_pico2_buy| * - 2 - Micro USBケーブル - 1 - * - 3 - :ref:`cpn_breadboard` - 1 - |link_breadboard_buy| * - 4 - :ref:`cpn_wire` - 数本 - |link_wires_buy| * - 5 - :ref:`cpn_l293d` - 1 - * - 6 - :ref:`cpn_power_module` - 1 - * - 7 - 9Vバッテリー - 1 - * - 9 - :ref:`cpn_pump` - 1 - **始める前に知っておくべき重要な点** * **ポンプのセットアップ**: チューブをポンプの出口に接続します。ポンプを水中に沈めてから電源を入れてください。 * **ドライランニングを避ける**: ポンプが常に水中に沈んでいることを確認してください。ポンプを空運転すると、過熱してモーターが損傷する可能性があります。 * **詰まりを防ぐ**: 植物に水をやる場合は、詰まりを防ぐために水がデブリを含まないことを確認してください。 * **ポンプのプライミング**: 最初に水が出ない場合は、チューブ内に空気が閉じ込められている可能性があります。エアバブルを取り除くために水を流してポンプをプライムする必要があるかもしれません。 **回路図** |sch_pump| L293Dはモータードライバーチップで、ENはL293Dを動作させるために5Vに接続されます。1Aと2AはそれぞれGP15とGP14に接続された入力で、1Yと2Yはモーターの両端に接続された出力です。 Y(出力)はA(入力)と位相が合っているため、GP15とGP14にそれぞれ異なるレベルが与えられると、モーターの回転方向を変えることができます。 **配線図** |wiring_pump| この回路では、ボタンがRUNピンに接続されていることがわかります。これは、モーターが多くの電流を使用しており、Picoがコンピューターから切断される可能性があるためで、ボタンを押す必要があります(Picoの **RUN** ピンが低レベルを受け取るため)。 **コードの書き方** .. note:: * ファイル ``3.6_pumping.ino`` を ``newton-lab-kit/arduino/3.6_pumping`` から開くことができます。 * あるいは、このコードを **Arduino IDE** にコピーしてください。 * **Raspberry Pi Pico 2** ボードと正しいポートを選択し、「Upload」をクリックします。 .. code-block:: arduino const int IN1 = 15; // Input 1Aに接続されたGPIOピン const int IN2 = 14; // Input 2Aに接続されたGPIOピン void setup() { pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); } void loop() { // ポンプをオンにする digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); delay(5000); // 5秒間動作させる // ポンプを停止する digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); delay(5000); // 5秒間停止 } コードをアップロードした後: * ポンプは5秒間動作し、チューブを通じて水をポンピングします。 * 次に、5秒間停止します。 * このサイクルが無限に繰り返されます。 * 最初に水が流れない場合は、ポンプが水中に沈んでおり、チューブに空気の泡がないことを確認してください。 **安全上の注意** * 水と電気: * Picoや他の電子部品から水を遠ざけることには非常に注意してください。 * 必要に応じてすべての接続が安全で絶縁されていることを確認してください。 * 電源: * ポンプの電圧要件に合った電源を使用してください(通常は3V-6V)。 * Picoの3.3Vピンから直接ポンプに電力を供給しないでください。 * 電流の引き出し: * ポンプはかなりの電流を引き出すことがあります。 * 電源がポンプの電流要件に対応できることを確認してください。 * Picoのリセット: ポンプを使用した後にコードのアップロードに問題が発生した場合、RUNピンを一時的にGNDに接続することでPicoを手動でリセットできます。 |wiring_run_reset| **さらなる探求** * 自動植物水やり: 土壌の乾燥に基づいて水やりプロセスを自動化するために、土壌湿度センサーを取り入れます。 * PWM速度制御: パルス幅変調(PWM)を使用して、電圧を変えることによりポンプの速度を制御します。 * タイミングとスケジューリング: リアルタイムクロックやスケジューラーを使用して、より複雑なタイミングを実装します。 **まとめ** このレッスンでは、Raspberry Pi PicoとL293Dモータードライバーを使用して小型水ポンプを制御する方法を学びました。この技術は、自動植物水やりシステム、噴水、または水耕栽培セットアップなど、さまざまなプロジェクトで使用できます。