注釈

こんにちは、FacebookのSunFounder Raspberry Pi & Arduino & ESP32愛好者コミュニティへようこそ!Raspberry Pi、Arduino、ESP32について、仲間たちとさらに深く学びましょう。

参加する理由は?

  • 専門家のサポート:販売後の問題や技術的な課題を、コミュニティやチームからのサポートで解決できます。

  • 学び・共有:ヒントやチュートリアルを交換して、スキルを向上させましょう。

  • 限定プレビュー:新製品の発表や先行情報をいち早くゲット。

  • 特別割引:最新製品の特別割引を楽しめます。

  • イベントプロモーションとプレゼント:プレゼント企画やホリデープロモーションに参加しましょう。

👉 一緒に探求して創造しませんか?[こちら]をクリックして、今すぐ参加!

2.14 水位検出

このレッスンでは、Raspberry Pi Pico 2を使用して 水位センサー を使い、水の有無を検出したり、水位を測定する方法を学びます。このセンサーは、降雨検知、水位監視、液体漏れアラートなどのプロジェクトで広く使用されています。

水位センサーの仕組み

水位センサーには、露出した並列のワイヤートレースがあり、水滴や水量を検出できます。水がこれらのトレースに接触すると、センサーはアナログ信号を出力します。センサーに触れる水の量が増えるほど、出力値が高くなり、この値はRaspberry Pi Pico 2のアナログ-デジタルコンバーター(ADC)を使用して読み取ることができます。

img_water_sensor

  • センサーを完全に水に沈めないでください。水に触れるのは露出したトレース部分のみとしてください。

  • 高湿度環境での長時間の使用はプローブの腐食を早める可能性があるため、測定時のみセンサーに電源を供給することを推奨します。

必要なもの

このプロジェクトで必要なコンポーネントは以下の通りです。

一式を購入するのが便利です。リンクはこちら:

名前

このキットのアイテム

リンク

Newton Lab Kit

450+

Newton Lab Kit

個別に購入することもできます。以下のリンクからどうぞ。

SN

コンポーネント

数量

リンク

1

Raspberry Pi Pico 2

1

購入

2

Micro USBケーブル

1

3

ブレッドボード

1

購入

4

ジャンパーワイヤー

数本

購入

5

水位センサーモジュール

1

回路図

sch_water

配線図

wiring_water

コードの作成

水位センサーからアナログ値を読み取り、コンソールに出力するMicroPythonプログラムを作成します。水位センサーが水に触れると、GP28で読み取る値が増加します。

注釈

  • 2.14_feel_the_water_level.pynewton-lab-kit/micropython から開くか、コードをThonnyにコピーして「実行」をクリックするか、F5を押してください。

  • 正しいインタープリタを選択していることを確認してください:MicroPython(Raspberry Pi Pico)。COMxx。

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)  # コンソールの出力が多くなりすぎないように遅延を挿入

コードを実行したら、水位センサーをゆっくり水に浸して、コンソールに表示される値が変化するのを確認してください。水に触れる面積が増えるほど、表示される値も大きくなります。

液漏れ検出への応用

水位センサーは、水漏れを検知するためのデジタルセンサーとしても使用できます。以下の手順で設定できます。

  1. 基準値の測定:

    • まず、完全に乾燥した環境で水位センサーの値を測定します。この値をしきい値(基準値)として記録します。

    • その後、この基準値を超えた場合に水に接触したと判断できます。

  2. 水漏れ検出コード:

    以下のコードでは、環境に応じたしきい値を設定し、それを超えた場合に水漏れを検出するようにします。

    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と組み合わせることで、さまざまな用途に応用できる水検出システムを構築できます。