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をつなごう。前回と同じように、コネクターの向きに注意しながら接続しよう。
3 プログラミングしよう!
電池ボックスのスイッチをオンにして、プログラミングエディターを立ち上げよう。立ち上げる方法は、「obniz Boardとスマートフォンを接続して、プログラミングエディターを立ち上げる」を参考
にしてね。
① 一番上にある「“obniz”をobniz id“xxxx-xxxx”に接続する」だけを残し、他のブロックを削除
しよう。obniz idを、自分のidに書きかえよう。
② 人のアイコンから「カメラを準備する」を取り出してつなげよう。
③ 手のアイコンから「“image”を“バナナ”でつくる」と「“Label”を作る」を取り出し、「カメラを準備
する」の下につなげよう。
「“image”を“バナナ”で作る」は、この連載で初めて出てきたブロックだよ。これは、プログラムを実行したときに、スマートフォンやパソコンの画面にイラストを表示できるブロックなんだ。“バナナ”をタップしてみると、他
にもりんごや顔などのイラストが選
べることがわかるね。
④ 矢印
が円を描
いているアイコンから「ずっと~実行
」を、2本の矢印が書かれたアイコンから「もしも“true”実行~他~」を取り出そう。
「ずっと~実行」の中に「もしも“true”実行~他~」を入れよう。
⑤ 人のアイコンから「“バナナ”がカメラに写っている」を取り出し、「もしも“true”実行~他~」の“true”の中に入れよう。
これで、バナナがカメラに写っているときと、写っていないときで、それぞれどういうことをしてほしいかプログラミングできるようになったよ!
⑥まず、バナナがカメラに写っているときの状態
をつくっていこう。
手のアイコンから「“image”を右へ“10”px動かす」と、「“label”で“text”を表示する」を取り出し、「もしも““バナナ”がカメラに写っている”実行~」の中に入れよう。
「“label”で“text”を表示する」の“text”は、“バナナがあるよ!”に変更
しよう。
「“image”を右へ“10”px動かす」は、スマートフォンやパソコンに表示されているバナナのイラストを、右側へ移動
させることができるブロックだよ。このブロックは「ずっと~実行」の中に入っているから、何度も繰
り返し移動することになる。つまり、右側にどんどんバナナが動いていくんだ!
バナナがカメラに写っているときは、イラストを動かしたくないので、“10”pxを“0”pxに変更しよう。
⑦次は、バナナがカメラに写っていないときの状態をつくろう。
もう一度、手のアイコンから「“image”を右へ“10”px動かす」と、「“label”で“text”を表示する」を取り出し、「他~」の中に入れよう。
“text”は“バナナがなくなった!”に、“10”pxは“5”pxに変更しよう。
これでプログラムは完成だよ。さっそく動かしてみよう!
4 動かしてみよう!
スマートフォンをテープやスマホスタンドを使って固定
し、インカメラがバナナの方を向くように調整
しよう。
電池ボックスをONにして、プログラムを実行するよ。もしカメラの使用許可
を求めるメッセージが表示されたら、「許可(Allow)」をタップしてね。
バナナがカメラに写っていると、スマートフォンの画面に「バナナがあるよ!」と表示され、バナナのイラストは止まったままになるよ。
もし、「バナナがなくなった!」と表示されてしまう場合は、バナナやスマートフォンの位置を調整してみてね。
次に、バナナを動かして、カメラに写らないようにしてみよう。
「バナナがあるよ!」は「バナナがなくなった!」に変わり、イラストが右にどんどん動いていくよ。
もう一度、バナナをカメラの前に置いてみよう。メッセージが「バナナがあるよ!」に変わり、バナナのイラストがその場で止まるよ。
もし、バナナのイラストが見当たらない場合は、バナナがカメラに写っていない時間が長く、イラストが画面の外に移動してしまっているかもしれないよ。一度プログラムを終了して、実行しなおそう。
今回は、スマートフォンのカメラを使ってバナナがあるかどうかを確認するプログラムをつくった。次回は、obniz Boardに電子部品を組み合わせて、離
れていてもバナナがなくなったらわかるような装置にしていくぞ。お楽しみに!
(文/トボリ 撮影/青柳敏史)