Arduino 入門
Lesson 58
【感雨・水位センサ】
こにんちは、管理人のomoroyaです。
センサーの使い方の基本を学習する入門編。
世の中には、まだまだ色々なセンサーがあります。
これからも、色々なセンサーで遊んでいきます。
本記事はLesson 58 【感雨・水位センサ】です。
電子部品箱を整理していて発見。
だいぶ昔に購入したもので存在を忘れていました。
せっかく見つけたので、遊んでみたいと思います。
Amazonなどでは、「水位センサ」として売られていますが水を検出するセンサです。
水位がどれぐらい?というのを検出することも可能ですが精度をもとめるのは難しいかもしれません。
水があるか、ないかを判定する程度の性能かなと考えます。
本Lessonで使用する水位センサは、基板にプリントされた銅線が可変抵抗の働きをすることで、水を検出するというもの。
センサ部分の水の浸かりぐあいによって導電率が変化し、抵抗値がかわるというしくみです。
水位センサのモジュールは、抵抗の変化を電圧として出力します。
その出力電圧をArduinoのアナログ入力ピンで読み取れば、水位の測定が可能です。
本Lessonで使用する「感雨・水位センサ」はNPNトランジスタ、抵抗が実装されたモジュールとなります。
以下が同等品。
※prime対応品(出荷元:Amazon)
Arduino入門編の解説にて使用しているArduinoは互換品です。
互換品とは言え、Arduinoはオープンソースであり複製して販売するのもライセンス的に問題なし。
そのため互換品の品質も悪くなく、それでいて値段は安いです。
正規品本体の値段程度で豊富な部品が多数ついています。
正規品(Arduino UNO R3)の本体単品がほしい方はこちらとなります。
Arduino入門編2では「Arduino UNO R4 Minima」「Arduino UNO R4 WIFI」にて遊ぶため今のところは正規品を使用。(まだ互換品が・・・ほぼない)
はじめに
本Lessonで使用する「感雨・水位センサ モジュール」はNPNトランジスタが実装されたモジュール。
10本の銅線がプリントされており、その銅線が可変抵抗器の役割を果たします。
その変化によりNPNトランジスタのベース電流値が変わるため水位によって出力電圧が変化するというしくみ。
その電圧をArduinoのアナログピンで読み取ればOK。
※AD変換
原理は簡単です。
Lesson 58 目標
本Lessonの目標は以下です。
2.感雨・水位センサ モジュールの仕組みを理解する(理解しなくてもOKです)
3.感雨・水位センサ モジュールを動かすスケッチを描く
4.感雨・水位センサ モジュールを動かして遊ぶ
いつものように、遊ぶことが重要です。
感雨・水位センサ モジュールですが、Arduinoでの制御は単純です。
LED、buzzer、LCDモジュールなどと組み合わせて、水位を検出したら光る、音を出す、水位をLCDに表示といったように電子部品を組み合わせた方が面白い。
準備
ではLessonの準備に取り掛かりましょう。
電子部品は「感雨・水位センサ モジュール」のみ。
必要なもの
- USB接続用のPC(IDE統合環境がインストールされたPC)
→管理人が勝手に比較したBTOメーカーを紹介しています。 - UNO R3(以下UNO)、おすすめUNO互換品(ELEGOO)
- PCとUNOを接続するUSBケーブル
- ブレッドボード安価(大)、ブレッドボード安価(中)
※おすすめブレッドボード(大)、おすすめブレッドボード(中) - KKHMF 5個 検出の水センサー 水位 センサー 深さ 水感知センサArduino用
- M-M Jumper wire(UNOと部品をつなぐための配線)
- M-F Jumper wire(UNOと部品をつなぐための配線)
※ブレッドボードはセンサとUNOを直接つなぐ場合不要です。
※ジャンパワイヤーは「M-M」「M-F」を必要に応じて使い分けてください。
Jumper wire、抵抗は今後も頻繁に利用します。
Jumper wireはできれば、「オス-メス オス-オス メス –メス」の3種類を揃えておくことをお勧めします。
短めが使いやすい場合も。
抵抗も単品で揃えるよりはセットをおすすめします。
抵抗、LEDなどを個別でセット品を購入しても、そんなに使わない!
という方は、「電子工作基本部品セット」が使い勝手が良い。
使用部品説明
「感雨・水位センサ モジュール」について説明していきます。
水位センサ モジュール 実物写真
下の写真が「感雨・水位センサ モジュール」の実物写真です。
本Lessonで使用するものは、NPNトランジスタが実装されたモジュール。
+:VCC、ー:GND、S:出力の3つのピンで構成されています。
また、銅線が10本プリントされているのがわかります。
感雨・水位センサ モジュール 回路図
「感雨・水位センサ モジュール」の回路図を示します。
あいかわらず、この手の電子部品はデータシートなどありません。
自分でテスタを使って配線をおいかけて回路図を起こすしかありません・・・。
回路じたいは単純ですが、NPNトランジスタの知識が必要となるため興味がないかたは飛ばしてください。
原理としては、基板にプリントされた銅線と銅線の間に水がつくことで、ベース電流が流れる。
また、銅線の浸かりぐあいによって(抵抗値がかわる)ベース電流が変わり、出力電圧(S)が変化する。
その変化量を水位に変換することも理論上は可能ですが、合わせこむのが大変なので「水がある、なし」程度で使うのが良いかと・・・。
※テスタで配線おいかけていますので、間違えている場合もあります!
感雨・水位センサ モジュール 仕様
遊び、学習で使う分には気にする特性はとくにありません。
■仕様抜粋(一例)
項目 | 仕様 |
---|---|
動作電圧 | 3V ~ 5V |
動作電流 | < 20mA |
検出領域 | 40mm × 16mm |
動作温度 | 10℃ ~ 30℃ |
モジュールサイズ | 62mm × 20mm × 8mm |
本Lessonは遊び、学習を想定しています。
Arduinoの仕様範囲内で使用していれば問題になることもありません。
遊び、学習以外での使用用途をお考えの場合はデータシートを必ず確認しましょう。
実践 回路作成とコード作成
最初に回路図を確認してください。
次に、回路図に合わせて部品を接続します。
最後にコードを書いて、「感雨・水位センサ モジュール」を動かしていきましょう。
Arduinoのピン配置を確認したい方は番外編02を参照してください。
回路図
Arduinoの使用ピンは以下。
- アナログ入力:A0
- 5V、GND
回路図がこちら。
こちらがブレッドボード図。
回路図は「fritzing」を利用しています。
「fritzing」の使い方は下記を参照してください。
接続
下図に示すように、用意した部品を使用して接続しましょう。
部品は「感雨・水位センサ モジュール」のみとなります。
部品は1個、接続は簡単です。
「感雨・水位センサ モジュール」と接続するジャンパーワイヤーはM-Fを使用してます。
ブレッドボードを使うかどうかはお好みで。
使用するポートは
- アナログ入力:A0
- 5V、GND
穴に挿入しづらいときは、ラジオペンチなどを使用してください。
コードの書き込み
接続が終わったら、USBケーブルを使用してUNOにプログラムを書き込んで行きましょう。
コードを書き終えたら、いつでも利用できるように「ファイル」⇒「名前を付けて保存」で保存しておきましょう。
コマンド説明
本Lessonでは、特に新しいコマンドはありません。
サンプルコード
本Lessonのスケッチは単純。
アナログ入力ピンで「感雨・水位センサ モジュール」の出力電圧を読み取るのみ。
アナログ入力ピンで電圧を読みとる → AD変換
Arduinoは読み取った電圧をデジタル値に変換してくれます。
スケッチは、変換されたデジタル値をシリアルモニタに出力させるだけです。
LED、buzzerなどを追加。
検出したら、光らせる、音を出すなどした方が面白いです。
また、読み取った値を水位に変換することも可能ですが・・・精度が微妙です。
Tryしてみましょう。
//Lesson 58 水位センサ モジュール //水があるかないかを検出する //https://omoroya.com/ int val = 0; void setup() { Serial.begin(9600); //シリアル通信のデータ転送レートを9600bpsで指定 } void loop() { delay(10); val = analogRead(A0); //水位センサモジュールの出力電圧の読み取り Serial.print("Water level: "); //シリアルモニタへ文字表示 Serial.println(val); //シリアルモニタへAD変換した値を表示 delay(1000); }
動作確認
では、さっそく動作を確認していきます。
下記の写真のように、ビーカーに「感雨・水位センサ モジュール」を入れて水を注いでいきます。
その状態をシリアルモニタで観察。
■シリアルモニタの値とセンサの状態
水がありなし、程度を検知するセンサと考えた方が良いです。
水位 | シリアルモニタ | センサの状態 |
---|---|---|
0 | ![]() |
ー |
入れ始め | ![]() |
![]() |
センサ 1/4 | ![]() |
![]() |
センサ 4/2 | ![]() |
![]() |
センサ 4/3 | ![]() |
![]() |
センサ 4/4 | ![]() |
![]() |
まとめ
本Lessonは、以下を目標としました。
2.感雨・水位センサ モジュールの仕組みを理解する(理解しなくてもOKです)
3.感雨・水位センサ モジュールを動かすスケッチを描く
4.感雨・水位センサ モジュールを動かして遊ぶ
「水感雨・水位センサ モジュール」は何かの電子部品と組み合わせて使うほうが面白いです。
LEDと組み合わせて、水のあるなしをLEDを点灯。
buzzerと組み合わせて、水のあるなしを音でお知らせ。
LCDモジュールと組み合わせて、表示させて観察できるようにする。
などなど、ほかの電子部品と組み合わせて実用的に使えるセンサです。
Lesson 58 【感雨・水位センサ】 はここまで。
疑問点、質問などありましたら気軽にコメントください。
次回、Lesson 59は【土壌水分検出センサ】です。

最後に
疑問点、質問などありましたら気軽にコメントください。
この電子部品の解説をしてほしい!などなどなんでもOKです。
リンク切れ、間違いなどあればコメントいただけると助かります。
Arduino入門編、番外編、お役立ち情報などなどサイトマップで記事一覧をぜひご確認ください。
Arduino入門編、Arduino入門編2で使用しているUNOはAmazonにて購入可能です。
Arduino入門編では互換品を使用。
Arduinoはオープンソース。
複製して販売するのもライセンス的に問題なし。
そのため互換品の品質も悪くなく、それでいて値段は安いです。
正規品本体の値段程度で豊富な部品が多数ついています。
学習用、遊び用、お試し用には安価な互換品がおすすめです。
ELEGOO UNO キット レベルアップ チュートリアル付 uno mega2560 r3 nanoと互換 Arduino用
上記のものでも十分に多数の部品が入っていますが、最初からもっと多数の部品が入っているこちらもお勧めです。
Arduino入門編2では「Arduino UNO R4 Minima」「Arduino UNO R4 WIFI」にて遊ぶため今のところは正規品を使用。(まだ互換品が・・・ほぼない)
Amazonでお得に買う方法
Amazonでお得に購入するならAmazon Mastercard、Amazonギフト券がおすすめです。
時期により異なりますが、様々なキャンペーンを実施しています。
\Amazonギフト券/
Amazonギフトカード キャンペーン
\Amazon Mastercard お申込み/
Amazon Mastercard 申し込み
いずれの場合もプライム会員である方がお得!!
\Amazon Prime 30日間の無料会員を試す/
無料会員登録
コメント