見出し画像

40歳のJTCおっさんが息子のためにIoTでカウントダウンタイマーを作ってみた話


はじめに

私には中学生の息子がいます。
彼は小学生の間はScratchを使ってプログラミングを学んでおり、せっかくなのでブロックプログラミングを通じてプログラミングの基礎や面白さに気付いてもらえるといいなと思っていました。
最近、家を掃除してた際に先輩からもらいぱなしだったobnizが出てきたので、息子のプログラミング勉強に活用する前に自分で触ってみましたのでご紹介します。
(実は息子にobnizのスタートキットとYouTubeを観られるアカウントと共に渡したのですが、うまくいかず投げ出してしまいました。ちょっとだけ動線が難しいように思いましたが、そもそもobnizは子供向けではないですからね(笑)なのでフォローできるように私も一通り触っておこうと思った次第です😃)

obniz(オブナイズ)とは

コンパクトでパワフルIoT入門に最適な開発ボードで簡単なことから高度なことがすぐに実現できるコンパクトな開発ボード。
電子工作から高度なIoTまで、あなたの作りたいにこたえます。
機器ごとの8桁のIDを入力するだけで、Web上に用意された開発ツールをすぐに使うことができます。

なぜ自分でやってみたのか

息子にobnizを勧める前に、自分で体験してみる必要性を感じました。JTC情シスの悪い癖「丸投げ」をするところでした。
40歳のおっさんがobnizにチャレンジです!

obnizスタートキットの内容

スタートキットには、obniz本体とさまざまなセンサーやアクチュエーターが同梱されていました。IoT機器ならではの物理デバイスとの連携ができると思うとワクワクします。工作が好きな男子の心をくすぐってくれます。

obniz本体(obniz Board)+ 8種類のパーツ(LEDマトリックス / LED信号 / サーボモーター / ブザー / ボタン / 温度センサー / 人感センサー / 距離センサー)

プロジェクト:カウントダウンタイマーを作ってみよう

何してみようかなと考えて、目の前で今一つ集中せずに息子が勉強していたので、勉強時間管理に役立つタイマーを作ることにしました。
使用するパーツは、青・黄・赤の3色LED信号とボタンです。
タイマーの仕様を以下のとおり考えてみました。(黄色LEDが壊れていたので、仕様は途中で変えました。何となく設計内容を考えておくと作業しやすいですね)

  • ボタンを押すと5分のカウントダウンがスタート

  • 残り時間に応じてLED信号が点灯

    • 残り60秒まで:青ポカポカ

    • 残り15秒まで:青赤ポカポカ

    • ラストスパート:赤ポカポカ

公式手順はこちらのURLのとおりです。
ただし、公式サイトに記載してあるサンプルプログラムはJavaScriptなので、ブロックプログラミングする人はこちらのサイトを参考にしてみてください。
もう少し、ブロックプログラミングの例があると取っ掛かりやすそうですが、そこは自分でもしっかり工夫して実装しましょう!

最初はWifiの設定からです。

SSIDは自動的に検出されるので、パスワードを入力します。パスワードの入力はカーソル移動させて、1文字ずつ入力するので、複雑なパスワードのSSIDを選ぶと面倒です。

WiFi設定が完了すると、画面にQRコードと8桁IDが表示されます。
スマホで読み込むと、すぐに開発を始められますが、今回はPCで開発したいので、こちらのURLにアクセスするといいと思います。
リンク先に飛ぶと、obnizの8桁IDを聞かれるので入力します。

プログラミング

obnizのWebエディタを使ってプログラミングを開始します。
ブロックプログラミングの知識を活かしながら、書きます。
まずはLED信号とボタンの動作を確認し、その後カウントダウンタイマーのロジックを実装していくことにしました。
ボタンイベントの監視、残り時間の計算、LED信号の点灯制御何かが必要ですね。
使ったタブは
・obniz
・キット/StarterKit
・論理
・ループ
・計算
※”obniz”や”キット/StarterKit”ここら辺のタブを起点にすると進めやすいと思います。

ブロックプログラミングコンソール

実装開始

プログラムを実行し、カウントダウンタイマーの動作を確認します。ボタンを押すとタイマーが開始されるか、残り時間に応じてLED信号が正しく点灯するかを確認します。必要に応じて細かな調整とデバッグを行います。
ゴリゴリ書いていきます。
コツは初期化!例えばLEDを点灯させることは明確に意識しますが、その際にいつ消すのかも一緒に考えると狙った仕様に近づけると思います。

トライアンドエラーを繰り返しながら、実装できました。
右上の▲実行を押して、プログラムをobniz本体に送ります。

息子の反応

完成したカウントダウンタイマーを息子に見せると、彼は興味深そうに観察していました。これを機に、一緒にobnizを使ったプログラミングに取り組むきっかけになればと思います。

動画が貼れず、、、画像です。

まとめ

40歳のおっさんがobnizで作ったカウントダウンタイマーを振り返ってみると、IoTとプログラミングの面白さの再発見に繋がりました。
ポンと渡すだけではなくて、アイディア出しを息子と一緒に行って、obnizを使った新しいプロダクトにチャレンジしたいと思います。

この記事が参加している募集

やってみた

この記事が気に入ったらサポートをしてみませんか?