連載

【embotでプログラミングを学ぼう⑪】測定した明るさをプログラムに使う:課題編

目次

  1. 【embotレベル】4
  2. 【プログラムの技】センサーの情報を使う(「Sizuku Lux」使用)
  3. 【主に使うプログラム】センサー(明るさ)、wait

解説編で知った新しいプログラムの技を使って、次の課題に挑戦してみましょう。
<今回は、embotと一緒に「Sizuku Lux」(https://www.braveridge.com/
product/archives/36
)を使用します。別途ご購入いただく必要があります。>

暗くなったらハッピーバースデー!

部屋が暗くなったら自動的に「ハッピーバースデー」を演奏してお祝いをしてくれるハッピバースデーロボットを作ってください。

「暗くなったら」何かが起こるにはどうしたらよいでしょうか? ここで便利なのが[wait]ブロックです。[wait]ブロックは、設定した条件が「はい」の状態になるまで待つという役割をします。詳しい使い方は「embotでプログラミングを学ぼう⑥」で確認してください。
→参照:待ってから動くプログラムを作ろう【embotでプログラミングを学ぼう6】

プログラムの解説とポイント

[wait]ブロックを使って、「プログラムを実行したら暗くなるまでは待ち、暗くなったら次に進んでハッピーバースデーを演奏する」という仕組みを作ります。

レベル4のフローチャート画面で[start]、[wait]、[function]、[end]ブロックを1個ずつ置いて線でつなぎます。

[wait]ブロックを開いて、次の図の通り「明るさ<10」という条件を設定します。「明るさが10より小さい」という意味です。この条件が「はい」の状態になるまでプログラムは先に進まずにここで待ちます。

次に[function]のプログラムを作成しましょう。ハッピーバースデーの曲のプログラムは次の図の通りです。メロディ通りに1音ずつプログラムして、途中にライトをつけたり消したりする効果を入れています。

フローチャートに戻って、プログラムを実行してみましょう。「Sizuku Lux」が明るいところに置いてある場合、明るさが10より小さくなるまでは[wait]ブロックのところでプログラムが止まり、周りが暗くなるとプログラムが先に進みます。

実際にこのプログラムを実行した動画をご覧ください。

部屋を暗くしたら自動的に演奏が始まる様子がこちらの動画です。embotの手を動かすプログラムを追加したらもっとにぎやかになりますね。

明るさをきっかけにしたプログラムは、「暗くなったとき」だけでなく、「明るくなったとき」というしかけも作れます。数値を変えれば明るさのていども変えられますから、ぜひいろいろなアイディアをプログラムしてみてください。

embot アイコン embotアプリ』はこちら!

embotを購入されていない方でも
無料でお試しいただけます。

※embot+の機能をつかうには最新のアプリをダウンロードください。