注釈
こんにちは、FacebookのSunFounder Raspberry Pi & Arduino & ESP32愛好者コミュニティへようこそ!Raspberry Pi、Arduino、ESP32について、仲間たちとさらに深く学びましょう。
参加する理由は?
専門家のサポート:販売後の問題や技術的な課題を、コミュニティやチームからのサポートで解決できます。
学び・共有:ヒントやチュートリアルを交換して、スキルを向上させましょう。
限定プレビュー:新製品の発表や先行情報をいち早くゲット。
特別割引:最新製品の特別割引を楽しめます。
イベントプロモーションとプレゼント:プレゼント企画やホリデープロモーションに参加しましょう。
👉 一緒に探求して創造しませんか?[こちら]をクリックして、今すぐ参加!
2.14 水位検出
このレッスンでは、Raspberry Pi Pico 2を使用して 水位センサー を使い、水の有無を検出したり、水位を測定する方法を学びます。このセンサーは、降雨検知、水位監視、液体漏れアラートなどのプロジェクトで広く使用されています。
水位センサーの仕組み
水位センサーには、露出した並列のワイヤートレースがあり、水滴や水量を検出できます。水がこれらのトレースに接触すると、センサーはアナログ信号を出力します。センサーに触れる水の量が増えるほど、出力値が高くなり、この値はRaspberry Pi Pico 2のアナログ-デジタルコンバーター(ADC)を使用して読み取ることができます。
センサーを完全に水に沈めないでください。水に触れるのは露出したトレース部分のみとしてください。
高湿度環境での長時間の使用はプローブの腐食を早める可能性があるため、測定時のみセンサーに電源を供給することを推奨します。
必要なもの
このプロジェクトで必要なコンポーネントは以下の通りです。
一式を購入するのが便利です。リンクはこちら:
名前 |
このキットのアイテム |
リンク |
|---|---|---|
Newton Lab Kit |
450+ |
個別に購入することもできます。以下のリンクからどうぞ。
SN |
コンポーネント |
数量 |
リンク |
|---|---|---|---|
1 |
1 |
||
2 |
Micro USBケーブル |
1 |
|
3 |
1 |
||
4 |
数本 |
||
5 |
1 |
回路図

配線図

コードの作成
水位センサーからアナログ値を読み取り、コンソールに出力するMicroPythonプログラムを作成します。水位センサーが水に触れると、GP28で読み取る値が増加します。
注釈
2.14_feel_the_water_level.pyをnewton-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) # コンソールの出力が多くなりすぎないように遅延を挿入
コードを実行したら、水位センサーをゆっくり水に浸して、コンソールに表示される値が変化するのを確認してください。水に触れる面積が増えるほど、表示される値も大きくなります。
液漏れ検出への応用
水位センサーは、水漏れを検知するためのデジタルセンサーとしても使用できます。以下の手順で設定できます。
基準値の測定:
まず、完全に乾燥した環境で水位センサーの値を測定します。この値をしきい値(基準値)として記録します。
その後、この基準値を超えた場合に水に接触したと判断できます。
水漏れ検出コード:
以下のコードでは、環境に応じたしきい値を設定し、それを超えた場合に水漏れを検出するようにします。
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と組み合わせることで、さまざまな用途に応用できる水検出システムを構築できます。
