自動給水機をつくる(TRYやってみよう)

3.水の量を計ろう – 土壌水分センサー

まず、コンピュータに水の量を解ってもらわないと先にすすむことができません。
水量に応じて、給水モーターを動かしたり止めたりすれば、水やりができそうです。

IchigoJamで水量を知るためには、土壌水分センサーを使います。
このセンサーは、基板表面の水の状態に応じて、電圧を出力してくれます。

実験プログラムを使って、土壌水分センサーの働きを調べましょう。
つぎのプログラムを実行して、水量に応じた値を、表1とグラフ1に記録してください。

30 LET W,ANA(2)
35 ? W:WAIT 30
90 GOTO 30

ANA(2) は、ポート2につないだセンサーの値を知る命令です。
LET W、ANA(2) は、変数Wに数値を記憶する命令です。
GOTO 30 は、行番号30に行きプログラムの実行を続けます。これがないと、プログラムはここで止まります(画面には「OK」の文字が出ます)。

30行目 変数Wに、アナログポート2の値をしまう
35行目 変数Wの値を表示する : 30tick(0.5秒)待て
90行目 30行目を実行する

実験プログラムから、水量が増えると、土壌水分センサー値は
減ることが分かります。しかしこれだと、直感的に水量がわかりずらく、間違いを起こしそうです。

そこで、プログラムを少し修正して、人にわかりやすいようにします。

30 LET W,1000-ANA(2)
35 ? W:WAIT 30
90 GOTO 30

30行目 変数Wに、1000からアナログポート2を引いた値をしまう

どうでしょうか。
プログラムを実行して、表2とグラフ1に記録してください。

これで、100mlのときは約550、150mlのときは約600の値となり、水量を把握することができるようになりました。