農業×プログラミング ― 明るさセンサーで光をはかろう
Inquiry-Based Study

植物が育つには水・光・空気などが必要。今回は「光」に注目して、明るさセンサーで光を数値ではかり、グラフに表示してみよう。暗くなったらLEDでお知らせする装置にも挑戦。
ここでやること
前回はLEDと音で作品をつくりました。今回は「光らせる」から一歩進んで、光を“はかる”プログラミングに挑戦します。
- 明るさセンサーをスペースブロックにつなぐ
- 明るさを数値で読み取って、グラフに表示する
- 明るさに合わせてLEDの表示を変える
全体の流れ(約60分)
| ステップ | 内容 | めやす |
|---|---|---|
| 0. 導入 | 農業と光の関係、なぜ光をはかるのかを知る | 5分 |
| 1. しる | 明るさセンサーのしくみを知る | 5分 |
| 2. つなぐ | センサーを配線する | 10分 |
| 3. 読む | 明るさを数値で読み取る | 5分 |
| 4. グラフ | 数値をグラフに表示する | 10分 |
| 5. 実験 | 場所を変えてはかり、記録表にまとめる | 10分 |
| 6. つくる | しきい値で光る「明るさメーター」を作る | 10分 |
| 応用・発展 | 自動ライトなど、自分のしかけに改造する | 5分 |
農業と光 ― なぜ光をはかるの?
植物が育つには、水・光・空気(二酸化炭素)・栄養・温度など、いろいろな条件が関係しています。その中で光は光合成のエネルギー。とても大事な要素です。
「なんとなく明るい」ではなく、センサーで数字ではかると、場所どうしを比べたり、変化を記録したりできます。これがスマート農業の第一歩です。

植物の生育に必要なもの
| 要素 | はたらき | センサーではかれる? |
|---|---|---|
| 水 | 体を支え、養分を運ぶ | 水位センサ・水分センサ |
| 光 | 光合成のエネルギー | 明るさセンサ(今回はここ!) |
| 空気(二酸化炭素) | 光合成の材料 | CO2センサ |
| 栄養 | 体をつくる材料 | - |
| 温度 | 成長の速さに影響 | 温度センサ |
前回のおさらい ― LEDパネル
LEDパネルはUSBコネクタ隣の横向きピンソケットに接続。「LED」カテゴリの「RGB LED [A10] を点灯」ブロックで、絵を描いて「実行」すると光ります。今回もLEDパネルを使うので、忘れていたら「光と音のプログラミング」を見直そう。

ステップ1 明るさセンサーを知ろう

明るさセンサーは、まわりの明るさを0〜1023の数値(アナログ値)にしてくれるパーツです。
- 明るいほど、数字が大きくなる
- 人間の目に近い感じ方をするようにつくられている
- 写真の丸で囲んだ部分で光を感じる
※センサーの向きや手の影で値が変わるよ。はかるときは条件をそろえよう。

ステップ2 明るさセンサーをつなごう

明るさセンサーの配線(ジャンパーワイヤ オス-メス × 3)
| センサー側 | スペースブロック側 |
|---|---|
| Sピン | 青色ピンソケットのA0 |
| Vピン | 黄色ピンソケットの5V |
| Gピン | 黄色ピンソケットのGND |
つないだら確認しよう。
- ワイヤの向きは合っている?(S・V・Gの並びに注意)
- 金属部分がしっかり差さっている?
- 抜くときは線だけを強く引っぱらない
ステップ3 明るさを読んでみよう
「入力」カテゴリの「(A0)の電圧をアナログ読取」ブロックを使うと、明るさセンサーの値を読み取れます。

ステップ4 グラフに表示しよう
読み取った値は「API」カテゴリの【グラフ】にある「グラフ""にデータ( )を追加」ブロックでグラフに表示できます。

2つを組み合わせた例がこちら。「繰り返す」の中で、明るさを読み取ってグラフに追加し、少し待つ。これだけ!

実行したら、右のパネルの「グラフ」を開いてみよう。明るさの変化が線グラフで見えます。

ステップ5 実験 ― かざして・かくして・くらべよう
明るいとき、暗いときで数値がどう変わるかな?
- センサーを照明や窓の方へ向ける
- 手でセンサーをかくす
- 場所を変えてはかってみる
数値をメモして比べてみよう。まずは「数値が変わる!」を確認できればOK。

明るさの記録表
| 場所・条件 | 明るさの数値 | 気づいたこと |
|---|---|---|
| 窓ぎわ | ||
| 部屋のまんなか | ||
| 手でかくす | ||
| 照明の近く |
光のものさし「しきい値」
どこからを「明るい」と決めるか、その境目の数値を「しきい値」といいます。
- 例:しきい値を 600 にする → 明るさが600より大きければ「明るい」、600以下なら「暗い」
- 部屋や天気で数値は変わるので、一度はかってから自分のしきい値を決めよう
ステップ6 明るさメーターをつくろう
「論理」カテゴリの「もし〜なら/でなければ」と「比較」ブロックを使うと、明るさでLEDの表示を変えられます。
下のプログラムでは、まず変数「しきい値」に 600 を入れておき、くりかえしの中で「もし 明るさ > しきい値 なら 太陽マーク、でなければ 月マーク」と切りかえています。あわせてグラフにも記録しているので、マークと数値の両方で明るさが分かります。

下の「明るさメーター」を開いてコピーすると、そのまま動かせます。ポイントは、いちばん上にある「しきい値」を1か所変えるだけで明るい/暗いの境目を調整できること。まずは自分の部屋ではかった数値を見ながら、600 を書きかえてみよう。
しきい値を変えるとどうなる
| しきい値 | 太陽マークが出るのは | こんなときに |
|---|---|---|
| 800 | 明るさが 800 より大きいとき(かなり明るいときだけ) | 窓ぎわなど、とても明るい場所ではかるとき |
| 600 | 明るさが 600 より大きいとき(さいしょの設定) | まずはこれでためす |
| 400 | 明るさが 400 より大きいとき(少し暗くてもOK) | くもりの日や、部屋のおくで使うとき |
| 200 | 明るさが 200 より大きいとき(ほとんどいつも太陽) | ほんとうに暗いときだけ月マークにしたいとき |
応用 こうカスタマイズしてみよう
できた人は挑戦してみよう。
- 暗くなったらLEDをつけよう:比較を「<」に変えると、暗いときだけLEDが光る自動ライトになるよ。
- 「光がたりない!」マーク:暗いとき専用の絵をつくって、植物からのSOSを表現してみよう。
- しきい値チューニング:600を変えて、部屋にちょうどいい境目を探そう。
- 明るさランキング:いろいろな場所ではかって記録表を完成させよう。植物を置くならどこがいい?「数字」と「理由」をセットで考えよう。
- (発展)時間で比べる:朝・昼・夕方ではかって、明るさの変化をグラフで比べてみよう。
発展プログラム ― スマート植物ライト
使っているのは、今日ならった明るさセンサー・LEDパネル・グラフ・変数(しきい値)・もし・くりかえしと、本体についている2つのボタンだけ。それだけで、こんなものまで作れます。
- 明るさメーター:いまの明るさを、一番下の行にみどりのバー(8段階)で表示
- 光がたりているか判定:しきい値以上なら太陽マーク、足りなければ月マーク
- 自動ライト:暗い状態がしばらく続いたら、LEDパネルが白く光って植物を照らす
- しきい値あわせ:本体の左ボタン(PA9)を押すと、「いまの明るさ」がそのまましきい値になる。部屋が変わっても一発で合わせられる
- 記録:右ボタン(PA8)で、これまでの最大・最小をコンソールに表示してリセット
コピーして中をのぞけば、「変数でルールを決める」「もしで場合分けする」「くりかえしでバーを描く」という、今日ならった考え方がそのまま使われているのが分かります。
まとめ
- 光を数値ではかって、グラフで変化を見られたかな?
- しきい値を決めて、明るさでLEDを制御できたかな?
- センサーを使うと、目で見た「明るそう」を数字で比べられる。数字で考えると、農業にもプログラミングにも活かせるよ。