Arduinoと戯れる!

Arduino 入門 Lesson 58 【感雨・水位センサ】

arduino-lesson58-00Arduino入門編
スポンサーリンク
子供と一緒に始める マイコンプログラム
Arduino 入門
Lesson 58
【感雨・水位センサ】

こにんちは、管理人のomoroyaです。

センサーの使い方の基本を学習する入門編。

 

世の中には、まだまだ色々なセンサーがあります。

これからも、色々なセンサーで遊んでいきます。

 

本記事はLesson 58 【感雨・水位センサ】です。

電子部品箱を整理していて発見。

だいぶ昔に購入したもので存在を忘れていました。

せっかく見つけたので、遊んでみたいと思います。

Amazonなどでは、「水位センサ」として売られていますが水を検出するセンサです。

水位がどれぐらい?というのを検出することも可能ですが精度をもとめるのは難しいかもしれません。

水があるか、ないかを判定する程度の性能かなと考えます。

 

本Lessonで使用する水位センサは、基板にプリントされた銅線が可変抵抗の働きをすることで、水を検出するというもの。

センサ部分の水の浸かりぐあいによって導電率が変化し、抵抗値がかわるというしくみです。

水位センサのモジュールは、抵抗の変化を電圧として出力します。

その出力電圧をArduinoのアナログ入力ピンで読み取れば、水位の測定が可能です。

 

本Lessonで使用する「感雨・水位センサ」はNPNトランジスタ、抵抗が実装されたモジュールとなります。

以下が同等品。
※prime対応品(出荷元:Amazon)

 

Arduino入門編の解説にて使用しているArduinoは互換品です。

互換品とは言え、Arduinoはオープンソースであり複製して販売するのもライセンス的に問題なし。

そのため互換品の品質も悪くなく、それでいて値段は安いです。

正規品本体の値段程度で豊富な部品が多数ついています。

 

正規品の本体単品がほしい方はこちらとなります。

 

スポンサーリンク

はじめに

本Lessonで使用する「感雨・水位センサ モジュール」はNPNトランジスタが実装されたモジュール。

10本の銅線がプリントされており、その銅線が可変抵抗器の役割を果たします。

その変化によりNPNトランジスタのベース電流値が変わるため水位によって出力電圧が変化するというしくみ。

その電圧をArduinoのアナログピンで読み取ればOK。
※AD変換

原理は簡単です。

 

Lesson 58 目標

本Lessonの目標は以下です。

1.感雨・水位センサ モジュールの使い方を学習する
2.感雨・水位センサ モジュールの仕組みを理解する(理解しなくてもOKです)
3.感雨・水位センサ モジュールを動かすスケッチを描く
4.感雨・水位センサ モジュールを動かして遊ぶ

いつものように、遊ぶことが重要です。

 

感雨・水位センサ モジュールですが、Arduinoでの制御は単純です。

LED、buzzer、LCDモジュールなどと組み合わせて、水位を検出したら光る、音を出す、水位をLCDに表示といったように電子部品を組み合わせた方が面白い。

 

準備

ではLessonの準備に取り掛かりましょう。

電子部品は「感雨・水位センサ モジュール」のみ。

 

必要なもの

※ブレッドボードはセンサとUNOを直接つなぐ場合不要です。
※ジャンパワイヤーは「M-M」「M-F」を必要に応じて使い分けてください。

 

Jumper wire、抵抗は今後も頻繁に利用します。

Jumper wireはできれば、「オス-メス オス-オス メス –メス」の3種類を揃えておくことをお勧めします。

短めが使いやすい場合も。

 

抵抗も単品で揃えるよりはセットをおすすめします。

 

使用部品説明

感雨・水位センサ モジュール」について説明していきます。

 

水位センサ モジュール 実物写真

下の写真が「感雨・水位センサ モジュール」の実物写真です。

本Lessonで使用するものは、NPNトランジスタが実装されたモジュール。

+:VCC、ー:GND、S:出力の3つのピンで構成されています。

また、銅線が10本プリントされているのがわかります。

arduino-lesson58-01

 

 

感雨・水位センサ モジュール 回路図

感雨・水位センサ モジュール」の回路図を示します。

 

あいかわらず、この手の電子部品はデータシートなどありません。

自分でテスタを使って配線をおいかけて回路図を起こすしかありません・・・。

回路じたいは単純ですが、NPNトランジスタの知識が必要となるため興味がないかたは飛ばしてください。

原理としては、基板にプリントされた銅線と銅線の間に水がつくことで、ベース電流が流れる。

また、銅線の浸かりぐあいによって(抵抗値がかわる)ベース電流が変わり、出力電圧(S)が変化する。

その変化量を水位に変換することも理論上は可能ですが、合わせこむのが大変なので「水がある、なし」程度で使うのが良いかと・・・。

※テスタで配線おいかけていますので、間違えている場合もあります!

arduino-lesson58-02

 

感雨・水位センサ モジュール 仕様

遊び、学習で使う分には気にする特性はとくにありません。

 

■仕様抜粋(一例)

項目仕様
動作電圧3V ~ 5V
動作電流< 20mA
検出領域40mm × 16mm
動作温度10℃ ~ 30℃
モジュールサイズ62mm × 20mm × 8mm

 

本Lessonは遊び、学習を想定しています。

Arduinoの仕様範囲内で使用していれば問題になることもありません。

遊び、学習以外での使用用途をお考えの場合はデータシートを必ず確認しましょう。

 

実践 回路作成とコード作成

最初に回路図を確認してください。

次に、回路図に合わせて部品を接続します。

最後にコードを書いて、「感雨・水位センサ モジュール」を動かしていきましょう。

 

Arduinoのピン配置を確認したい方は番外編02を参照してください。

 

回路図

Arduinoの使用ピンは以下。

  • アナログ入力:A0
  • 5V、GND

 

回路図がこちら。

arduino-lesson58-03

こちらがブレッドボード図。

arduino-lesson58-04

 

回路図は「fritzing」を利用しています。

「fritzing」の使い方は下記を参照してください。

 

接続

下図に示すように、用意した部品を使用して接続しましょう。

部品は「感雨・水位センサ モジュール」のみとなります。

部品は1個、接続は簡単です。

感雨・水位センサ モジュール」と接続するジャンパーワイヤーはM-Fを使用してます。

ブレッドボードを使うかどうかはお好みで。

 

使用するポートは

  • アナログ入力:A0
  • 5V、GND

穴に挿入しづらいときは、ラジオペンチなどを使用してください。

arduino-lesson58-05

 

コードの書き込み

接続が終わったら、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);
}

 

動作確認

では、さっそく動作を確認していきます。

下記の写真のように、ビーカーに「感雨・水位センサ モジュール」を入れて水を注いでいきます。

その状態をシリアルモニタで観察。

 

■シリアルモニタの値とセンサの状態

値は、都度異なることが多いため参考値です。
水がありなし、程度を検知するセンサと考えた方が良いです。​
水位シリアルモニタセンサの状態
0arduino-lesson58-06a
入れ始めarduino-lesson58-07aarduino-lesson58-07b
センサ 1/4arduino-lesson58-08aarduino-lesson58-08b
センサ 4/2arduino-lesson58-09aarduino-lesson58-09b
センサ 4/3arduino-lesson58-10aarduino-lesson58-10b
センサ 4/4arduino-lesson58-11aarduino-lesson58-11b

 

単純ですが水の検出ができています。
安価であるため、遊ぶにはもってこいのセンサです。

 

まとめ

本Lessonは、以下を目標としました。

1.感雨・水位センサ モジュールの使い方を学習する
2.感雨・水位センサ モジュールの仕組みを理解する(理解しなくてもOKです)
3.感雨・水位センサ モジュールを動かすスケッチを描く
4.感雨・水位センサ モジュールを動かして遊ぶ

 

水感雨・水位センサ モジュール」は何かの電子部品と組み合わせて使うほうが面白いです。

LEDと組み合わせて、水のあるなしをLEDを点灯。

buzzerと組み合わせて、水のあるなしを音でお知らせ。

LCDモジュールと組み合わせて、表示させて観察できるようにする。

などなど、ほかの電子部品と組み合わせて実用的に使えるセンサです。

 

Lesson 58 【感雨・水位センサ】 はここまで。

疑問点、質問などありましたら気軽にコメントください。

 

次回、Lesson 59は【土壌水分検出センサ】です。

Arduino 入門 Lesson 59 【土壌水分検出センサ】
本記事はLesson 59 【土壌水分センサ】です。「土壌水分センサ・土壌湿度センサ」として売られています。土壌の湿度(水分量)を測定するセンサです。基板にプリントされたプローブが可変抵抗器として機能します。抵抗値は土壌の含水量に応じて変化…

 

最後に

疑問点、質問などありましたら気軽にコメントください。

この電子部品の解説をしてほしい!などなどなんでもOKです。

リンク切れ、間違いなどあればコメントいただけると助かります。

 

Arduino入門編、番外編、お役立ち情報などなどサイトマップで記事一覧をぜひご確認ください。

 

Arduino入門編で使用しているUNOはAmazonにて購入可能です。

互換品とは言え、Arduinoはオープンソース。

複製して販売するのもライセンス的に問題なし。

 

そのため互換品の品質も悪くなく、それでいて値段は安いです。

正規品本体の値段程度で豊富な部品が多数ついています。

 

学習用、遊び用、お試し用には安価な互換品がおすすめです。

 

 

上記のものでも十分に多数の部品が入っていますが、最初からもっと多数の部品が入っているこちらもお勧めです。

 

Amazonでお得に買う方法

Amazonでお得に購入するなら、Amazonギフト券がおすすめです。

現金でチャージするたびに、チャージ額に応じたポイントが付与されます。

最大2.5%!!!(Amazonプライム会員ならさらにお得)

チャージ額(一回分)一般プライム会員
5,000円~19,999円0.5%1.0%
2,0000円~39,999円1.0%1.5%
40,000円~89,999円1.5%2.0%
90,000円~2.0%2.5%

さらに、初回チャージで2000ポイントもらえるキャンペーンも実施中!
※いつもは1000ポイント、今なら2000ポイントです!

\Amazonギフト券 2000ポイントキャンペーン/
Amazonチャージ 初回購入で2000ポイントキャンペーン

 

補足情報
コンビニ・ATM・ネットバンクが対象
購入は1円単位で可能

コメント

タイトルとURLをコピーしました