Skip to main content

Grove - 水センサー

note

この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues

pir

水センサーモジュールはGroveシステムの一部です。このセンサーは導電性を測定することで、センサーが乾燥しているか、湿っているか、完全に水に浸かっているかを示します。センサーのトレースには1 MΩの弱いプルアップ抵抗が組み込まれています。この抵抗は、センサーのトレース値を高く保ちますが、水滴がセンサーのトレースを接地されたトレースに短絡させると値が変化します。この回路はArduinoのデジタルI/Oピンで動作するだけでなく、アナログピンを使用して接地トレースとセンサートレース間の水による接触量を検出することもできます。

pir

バージョン

製品バージョン変更点リリース日
Grove-Water Sensor V1.1初期バージョン2014年7月

特徴

  • Grove互換インターフェース
  • 低消費電力
  • 2.0cm x 2.0cmのGroveモジュール
  • 高感度

応用例

  • 降雨検知
  • 液体漏れ検知
  • タンクのオーバーフロー検知

仕様

項目最小値標準値最大値単位
動作電圧4.755.05.25V
電流<20mA
動作温度10-30
動作湿度(結露なし)10-90 %
tip
Groveモジュールの詳細については、[Grove System](https://wiki.seeedstudio.com/ja/Grove_System/)を参照してください。

対応プラットフォーム

ArduinoRaspberry Pi

pir

pir

caution
上記で対応していると記載されているプラットフォームは、モジュールのソフトウェアまたは理論的な互換性を示しています。ほとんどの場合、Arduinoプラットフォーム向けのソフトウェアライブラリやコード例のみを提供しています。すべての可能なMCUプラットフォーム向けにソフトウェアライブラリやデモコードを提供することは不可能です。そのため、ユーザー自身でソフトウェアライブラリを作成する必要があります。

はじめに

note
Arduinoを初めて使用する場合は、作業を開始する前に「Arduinoの使い方」を確認することを強くお勧めします。

Arduinoで遊ぶ

ハードウェア

モジュールをBasicボードの任意のデジタルピンに接続します。信号ピンの値を取得できます。裸の導電ワイヤに水がある場合、値はLOWになります。それ以外の場合はHIGHになります。

  • ステップ1. 以下のものを準備してください:
Seeeduino V4.2Base ShieldGrove - Water Sensor

pir

pir

pir

今すぐ購入今すぐ購入今すぐ購入
  • ステップ2. Grove-Base ShieldのD2ポートにWater Sensorを接続します。

  • ステップ3. Grove-Base ShieldをSeeeduinoに差し込みます。

  • ステップ4. USBケーブルを使用してSeeeduinoをPCに接続します。

    pir

note
Grove Base Shieldがない場合は、以下のようにGrove_Water_SensorをSeeeduinoに直接接続することもできます。
SeeeduinoGrove - Water Sensor
5V
GND
接続なし
D2黄色

ソフトウェア

  • ステップ1. 以下のコードをArduino IDEにコピーしてアップロードします。コードのアップロード方法がわからない場合は、コードのアップロード方法を確認してください。
#define WATER_SENSOR 2

void setup()
{
Serial.begin (9600);
pinMode(WATER_SENSOR, INPUT);
}
void loop()
{
Serial.println(digitalRead(WATER_SENSOR));
delay(500);
}

  • ステップ2. 以下のようにターミナルに出力が表示されます。
1
1
0
0
1
1

Codecraftで遊ぶ

ハードウェア

ステップ1. Grove - Water SensorをBase ShieldのD2ポートに接続します。

ステップ2. Base ShieldをSeeeduino/Arduinoに差し込みます。

ステップ3. USBケーブルを使用してSeeeduino/ArduinoをPCに接続します。

ソフトウェア

ステップ1. Codecraftを開き、Arduinoサポートを追加し、メインプロシージャを作業エリアにドラッグします。

note
Codecraftを初めて使用する場合は、[Arduinoを使用したCodecraftのガイド](https://wiki.seeedstudio.com/ja/Guide_for_Codecraft_using_Arduino/)も参照してください。

ステップ2. 以下の画像のようにブロックをドラッグするか、このページの最後でダウンロードできるcdcファイルを開きます。

pir

Arduino/Seeeduinoにプログラムをアップロードします。

tip
コードのアップロードが完了すると、Serial Monitorで水があるかどうかが確認できます。

Raspberry Piで遊ぶ (Raspberry Pi用Grove Base Hatを使用)

ハードウェア

  • ステップ1. このプロジェクトで使用するもの:
Raspberry piGrove Base Hat for RasPiGrove - Water Sensor

pir

pir

pir

今すぐ購入今すぐ購入今すぐ購入
  • ステップ 2. Grove Base Hat を Raspberry Pi に接続します。
  • ステップ 3. Grove - Water Sensor を Base Hat の A0 ポートに接続します。
  • ステップ 4. Raspberry Pi を USB ケーブルを介して PC に接続します。

    pir

ソフトウェア

  • ステップ 1. Setting Software に従って開発環境を設定します。
  • ステップ 2. grove.py ライブラリをクローンしてソースファイルをダウンロードします。
cd ~
git clone https://github.com/Seeed-Studio/grove.py
  • ステップ 3. 以下のコマンドを実行してコードを実行します。
cd grove.py/grove
python grove_water_sensor.py 0

以下は grove_water_sensor.py のコードです。

import math
import sys
import time
from grove.adc import ADC


class GroveWaterSensor:

def __init__(self, channel):
self.channel = channel
self.adc = ADC()

@property
def value(self):
return self.adc.read(self.channel)

Grove = GroveWaterSensor


def main():
if len(sys.argv) < 2:
print('Usage: {} adc_channel'.format(sys.argv[0]))
sys.exit(1)

sensor = GroveWaterSensor(int(sys.argv[1]))

print('Detecting ...')
while True:
value = sensor.value
if sensor.value > 800:
print("{}, Detected Water.".format(value))
else:
print("{}, Dry.".format(value))

time.sleep(.1)

if __name__ == '__main__':
main()
tip
すべてが正常に動作すれば、以下の結果が表示されます。
pi@raspberrypi:~/grove.py/grove $ python grove_water_sensor.py 0
Detecting ...
612, Dry.
749, Detected Water.
829, Dry.
357, Dry.
98, Dry.
352, Dry.
517, Dry.
718, Detected Water.
868, Detected Water.
581, Dry.
90, Dry.
326, Dry.
451, Dry.
666, Dry.
867, Detected Water.
684, Dry.
100, Dry.
^CTraceback (most recent call last):
File "grove_water_sensor.py", line 71, in <module>
main()
File "grove_water_sensor.py", line 62, in main
value = sensor.value
File "grove_water_sensor.py", line 48, in value
return self.adc.read(self.channel)
File "/usr/local/lib/python2.7/dist-packages/grove/adc.py", line 66, in read
return self.read_register(addr)
File "/usr/local/lib/python2.7/dist-packages/grove/adc.py", line 84, in read_register
return self.bus.read_word_data(self.address, n)
File "/home/pi/.local/lib/python2.7/site-packages/smbus2/smbus2.py", line 396, in read_word_data
ioctl(self.fd, I2C_SMBUS, msg)
KeyboardInterrupt

このセンサーを使用して水を検知することができます。終了するには ++ctrl+c++ を押してください。

note
    アナログポートの場合、シルクスクリーンのピン番号は **A1, A0** のようになっていますが、コマンドでは **0** や **1** のパラメータを使用します。これはデジタルポートと同じです。そのため、モジュールを正しいポートに接続するようにしてください。そうしないとピンの競合が発生する可能性があります。

Raspberry Pi と GrovePi_Plus を使用する

ハードウェア

  • ステップ 1. 以下のアイテムを準備します:
Raspberry piGrovePi_PlusGrove - Water Sensor

pir

pir

pir

今すぐ購入今すぐ購入今すぐ購入
  • ステップ 2. GrovePi_Plus を Raspberry に接続します。
  • ステップ 3. Grove-Water Sensor を GrovePi_Plus の D2 ポートに接続します。
  • ステップ 4. Raspberry を USB ケーブルを介して PC に接続します。

pir

ソフトウェア

  • ステップ 1. Setting Software に従って開発環境を設定します。
  • ステップ 2. デモのディレクトリに移動します:
cd yourpath/GrovePi/Software/Python/
  • ステップ 3. コードを確認します:
nano grove_water_sensor.py
import time
import grovepi

# Grove Water Sensor をデジタルポート D2 に接続
# SIG,NC,VCC,GND
water_sensor = 2

grovepi.pinMode(water_sensor,"INPUT")

while True:
try:
print grovepi.digitalRead(water_sensor)
time.sleep(.5)

except IOError:
print "Error"
  • ステップ 4. デモを実行します。
sudo python grove_water_sensor.py
  • ステップ 5. 以下のようにターミナルに出力が表示されます。
1
1
0
0
1

回路図オンラインビューア

リソース

プロジェクト

スマート作物:従来の農業に IoT を導入!: 自然との使命はそれを保護することです。IoT を活用した技術と監視方法を設計・実装することで、Helium を通じて自然を守ります。

技術サポートと製品ディスカッション

弊社製品をお選びいただきありがとうございます!製品の使用体験がスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、複数のコミュニケーションチャネルを用意しています。

Loading Comments...