.. note:: こんにちは、FacebookのSunFounder Raspberry Pi & Arduino & ESP32愛好者コミュニティへようこそ!Raspberry Pi、Arduino、ESP32について、仲間たちとさらに深く学びましょう。 **参加する理由は?** - **専門家のサポート**:販売後の問題や技術的な課題を、コミュニティやチームからのサポートで解決できます。 - **学び・共有**:ヒントやチュートリアルを交換して、スキルを向上させましょう。 - **限定プレビュー**:新製品の発表や先行情報をいち早くゲット。 - **特別割引**:最新製品の特別割引を楽しめます。 - **イベントプロモーションとプレゼント**:プレゼント企画やホリデープロモーションに参加しましょう。 👉 一緒に探求して創造しませんか?[|link_sf_facebook|]をクリックして、今すぐ参加! .. _py_water: 2.14 水位検出 ============================ このレッスンでは、Raspberry Pi Pico 2を使用して **水位センサー** を使い、水の有無を検出したり、水位を測定する方法を学びます。このセンサーは、降雨検知、水位監視、液体漏れアラートなどのプロジェクトで広く使用されています。 **水位センサーの仕組み** 水位センサーには、露出した並列のワイヤートレースがあり、水滴や水量を検出できます。水がこれらのトレースに接触すると、センサーはアナログ信号を出力します。センサーに触れる水の量が増えるほど、出力値が高くなり、この値はRaspberry Pi Pico 2のアナログ-デジタルコンバーター(ADC)を使用して読み取ることができます。 |img_water_sensor| * センサーを完全に水に沈めないでください。水に触れるのは露出したトレース部分のみとしてください。 * 高湿度環境での長時間の使用はプローブの腐食を早める可能性があるため、測定時のみセンサーに電源を供給することを推奨します。 **必要なもの** このプロジェクトで必要なコンポーネントは以下の通りです。 一式を購入するのが便利です。リンクはこちら: .. 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_water_level` - 1 - **回路図** |sch_water| **配線図** |wiring_water| **コードの作成** 水位センサーからアナログ値を読み取り、コンソールに出力するMicroPythonプログラムを作成します。水位センサーが水に触れると、GP28で読み取る値が増加します。 .. note:: * ``2.14_feel_the_water_level.py`` を ``newton-lab-kit/micropython`` から開くか、コードをThonnyにコピーして「実行」をクリックするか、F5を押してください。 * 正しいインタープリタを選択していることを確認してください:MicroPython(Raspberry Pi Pico)。COMxx。 .. code-block:: python import machine import utime # GP28に接続されたADCを初期化 sensor = machine.ADC(28) while True: # センサーからアナログ値を取得 value = sensor.read_u16() print("Water level reading:", value) utime.sleep(0.2) # コンソールの出力が多くなりすぎないように遅延を挿入 コードを実行したら、水位センサーをゆっくり水に浸して、コンソールに表示される値が変化するのを確認してください。水に触れる面積が増えるほど、表示される値も大きくなります。 **液漏れ検出への応用** 水位センサーは、水漏れを検知するためのデジタルセンサーとしても使用できます。以下の手順で設定できます。 #. 基準値の測定: * まず、完全に乾燥した環境で水位センサーの値を測定します。この値をしきい値(基準値)として記録します。 * その後、この基準値を超えた場合に水に接触したと判断できます。 #. 水漏れ検出コード: 以下のコードでは、環境に応じたしきい値を設定し、それを超えた場合に水漏れを検出するようにします。 .. code-block:: python import machine import utime # GP28に接続されたADCを初期化 sensor = machine.ADC(28) # 乾燥状態での基準値を設定(適宜調整) threshold = 30000 while True: # センサーからアナログ値を取得 value = sensor.read_u16() # しきい値を超えた場合、水漏れがあると判断 if value > threshold: print("Liquid leakage detected!") utime.sleep(0.2) # 読みやすくするための遅延 このプログラムは、センサーが設定されたしきい値を超えたときに「Liquid leakage detected!(液漏れ検出!)」と表示します。 **実用的な応用例** * **水漏れ検知**: 配管の近くにセンサーを配置し、水漏れが発生した場合にアラートを出すことができます。 * **水位監視**: タンクや容器内の水位を監視し、一定の水位に達したら警告やアクションをトリガーできます。 * **降雨検知**: センサーを屋外に設置(適切な保護を施す)し、降雨を検出することができます。 **結論** 水位センサーは、水位の測定や液漏れ検出に役立つシンプルで便利なツールです。Raspberry Pi Pico 2と組み合わせることで、さまざまな用途に応用できる水検出システムを構築できます。