バナナがなくなったら知らせてくれる装置をつくろう!①

 obniz(オブナイズ)は、センサーやモーターなどの電子部品を、インターネット上でかんたんに操作
(そうさ)
できるようにするシステムで、obniz OS(オブナイズ オーエス)、obniz Board(オブナイズ ボード)、obniz Cloud(オブナイズ クラウド)で構成
(こうせい)
されている。obniz OSが搭載
(とうさい)
されているマイコンボードobniz Boardに接続
(せつぞく)
した電子部品は、インターネット上のobniz OSを経由
(けいゆ)
してパソコンやスマートフォンから遠隔
(えんかく)
操作ができる。これを使うと、IoT(Internet of Things、モノのインターネット)がかんたんにできるんだ。

 『子供の科学』本誌
(ほんし)
では、obnizを使って家をスマートホーム(いろいろなものをインターネットにつないで遠隔操作できる家)にするための装置
(そうち)
をつくる連載
(れんさい)
をしてきた。

 これまでの連載は「obnizでつくろうスマートホーム!」バックナンバーで公開しているよ。これまでにつくった装置のつくり方を解説
(かいせつ)
しているので、まだ見たことがない人は見てみてね。Web連載は、本誌の連載の
(つづ)
きになっているので、基本的
(きほんてき)
なことがわからなくなったら、本誌のバックナンバーを
()

(かえ)
ろう。

 この連載では、「KoKa obnizスマートホームキット」が必要なので、持っていない人は「KoKa Shop!」で手に入れよう。プログラミングはスマートフォンを使うよ。親子でいっしょに取り組んでみてね。

 さて、あとで食べようと思っていたバナナが、いつの
にか
だれ
かに食べられてしまった! なんて経験
けいけん
はあるかな? せっかく食べるのを楽しみにしていたのに、がっかりしちゃうよね。

 今回は、バナナがなくなったらお知らせしてくれる装置をつくっていくよ!

1 装置のしくみを考えよう!

 今回の装置は、バナナを見つける機能
きのう
として物体認識
ぶったいにんしき
のブロックを使っていくよ。スマートフォンのカメラを使って、「バナナ」があるかどうかを認識するプログラムをつくる。

 obnizのブロックでは「“バナナ”がカメラに写っているとき」というブロックがあって、今回のプログラムではこのブロックを使う。どのように使うのか、一緒にプログラムをつくってみていこう!

「“バナナ”がカメラに写っているとき」ブロック

2 obniz Boardを用意しよう

 1回目の今回は、obniz Boardはまだ改造
かいぞう
しないけど、プログラミングエディターを立ち上げるときにobniz Boardが必要
ひつよう
になる。「KoKa obnizスマートホームキット」から、次の部品を用意
ようい
してね。

① obniz Board
② 電池ボックス
③ 電池ボックス接続
せつぞく
用USBケーブル

今回使うobniz Board一式

 電池ボックスとobniz Boardをつなごう。前回と同じように、コネクターの向きに注意しながら接続しよう。

obniz Boardと電池ボックスをつなぐ

3 プログラミングしよう!

 電池ボックスのスイッチをオンにして、プログラミングエディターを立ち上げよう。立ち上げる方法は、「obniz Boardとスマートフォンを接続して、プログラミングエディターを立ち上げる」参考
さんこう
にしてね。

① 一番上にある「“obniz”をobniz id“xxxx-xxxx”に接続する」だけを残し、他のブロックを削除
さくじょ
しよう。obniz idを、自分のidに書きかえよう。

「“obniz”をobniz id“xxxx-xxxx”に接続する」ブロック

② 人のアイコンから「カメラを準備する」を取り出してつなげよう。

「カメラを準備する」ブロックをつなげる

③ 手のアイコンから「“image”を“バナナ”でつくる」と「“Label”を作る」を取り出し、「カメラを準備
じゅんび
する」の下につなげよう。

「“image”を“バナナ”でつくる」、「“Label”を作る」ブロックをつなげる

 「“image”を“バナナ”で作る」は、この連載で初めて出てきたブロックだよ。これは、プログラムを実行したときに、スマートフォンやパソコンの画面にイラストを表示できるブロックなんだ。“バナナ”をタップしてみると、
ほか
にもりんごや顔などのイラストが
えら
べることがわかるね。

 「“image”を“バナナ”で作る」ブロック

④ 矢印
やじるし
が円を
いているアイコンから「ずっと~実行
じっこう
」を、2本の矢印が書かれたアイコンから「もしも“true”実行~他~」を取り出そう。
 「ずっと~実行」の中に「もしも“true”実行~他~」を入れよう。

「ずっと~実行」ブロック、「もしも“true”実行~他~」ブロックをつなげる

⑤ 人のアイコンから「“バナナ”がカメラに写っている」を取り出し、「もしも“true”実行~他~」の“true”の中に入れよう。
 これで、バナナがカメラに写っているときと、写っていないときで、それぞれどういうことをしてほしいかプログラミングできるようになったよ!

「“バナナ”がカメラに写っている」ブロックを組み合わせる

⑥まず、バナナがカメラに写っているときの状態
じょうたい
をつくっていこう。

 手のアイコンから「“image”を右へ“10”px動かす」と、「“label”で“text”を表示する」を取り出し、「もしも““バナナ”がカメラに写っている”実行~」の中に入れよう。
 「“label”で“text”を表示する」の“text”は、“バナナがあるよ!”に変更
へんこう
しよう。
 「“image”を右へ“10”px動かす」は、スマートフォンやパソコンに表示されているバナナのイラストを、右側へ移動
いどう
させることができるブロックだよ。このブロックは「ずっと~実行」の中に入っているから、何度も
り返し移動することになる。つまり、右側にどんどんバナナが動いていくんだ!
 バナナがカメラに写っているときは、イラストを動かしたくないので、“10”pxを“0”pxに変更しよう。

「“image”を右へ“  ”px動かす」ブロックと、「“label”で“text”を表示する」ブロックを組み合わせる

⑦次は、バナナがカメラに写っていないときの状態をつくろう。
 もう一度、手のアイコンから「“image”を右へ“10”px動かす」と、「“label”で“text”を表示する」を取り出し、「他~」の中に入れよう。
 “text”は“バナナがなくなった!”に、“10”pxは“5”pxに変更しよう。

プログラムが完成

 これでプログラムは完成だよ。さっそく動かしてみよう!

4 動かしてみよう!

 スマートフォンをテープやスマホスタンドを使って固定
こてい
し、インカメラがバナナの方を向くように調整
ちょうせい
しよう。
 電池ボックスをONにして、プログラムを実行するよ。もしカメラの使用許可
しようきょか
を求めるメッセージが表示されたら、「許可(Allow)」をタップしてね。
 バナナがカメラに写っていると、スマートフォンの画面に「バナナがあるよ!」と表示され、バナナのイラストは止まったままになるよ。

バナナがある場合の表示

 もし、「バナナがなくなった!」と表示されてしまう場合は、バナナやスマートフォンの位置を調整してみてね。

 次に、バナナを動かして、カメラに写らないようにしてみよう。
 「バナナがあるよ!」は「バナナがなくなった!」に変わり、イラストが右にどんどん動いていくよ。

バナナがない時

 もう一度、バナナをカメラの前に置いてみよう。メッセージが「バナナがあるよ!」に変わり、バナナのイラストがその場で止まるよ。

 もし、バナナのイラストが見当たらない場合は、バナナがカメラに写っていない時間が長く、イラストが画面の外に移動してしまっているかもしれないよ。一度プログラムを終了して、実行しなおそう。

 今回は、スマートフォンのカメラを使ってバナナがあるかどうかを確認するプログラムをつくった。次回は、obniz Boardに電子部品を組み合わせて、
はな
れていてもバナナがなくなったらわかるような装置にしていくぞ。お楽しみに!

(文/トボリ 撮影/青柳敏史)

プログラミング教材 obniz

KoKa obnizスマートホームキット

¥12,650- (税込)

KoKa Shop!で購入する

最新号好評発売中!

子供の科学 2024年 12月号

CTR IMG