未来を創る「子どもとプログラミング教育」

教育向けマイコン「micro:bit」で温度計を作ってみた ビジュアルプログラミングは簡単?(2/2 ページ)

» 2018年06月16日 07時00分 公開
[井上輝一ITmedia]
前のページへ 1|2       

物理ボタンで表示をオンオフしたい

 さて、物理ボタンAで表示が始まり、物理ボタンBで表示を終了するようにしたい。表示中だけループしたいので、「ループ」内の「もし[真]ならくりかえし」を使用して条件式でループを判断できるようにする。

ボタンAが押されたとき、変数isLoopを真にする。そしてもしisLoopなら(=isLoopが真なら)以下の動作を繰り返す――という処理

 「もし[真]ならくりかえし」の[真]部分を真偽切り替えられるようにしたいので、2つ目の変数“isLoop”を用意する。ボタンAが押された時にisLoopを真にすれば表示のループが回り、ボタンBが押された時にisLoopを偽にすることでループを止めるという考え方だ。

ボタンBが押されたときにはisLoopを偽にする

 後はループ内で表示する文字列の設定だけ。「基本」内に「文字列を表示」ブロックがあるので、ここにtemperatureをつなげてみるのだが、実はこれでは動かない。温度は数値であり、文字列ではないためだ。

エラーが英語で出るのはちょっとハードルが高いかもしれない

 「基本」の中に「数を表示」ブロックもあるのでこちらを使ってもいいが、せっかく温度なので「24C」という風に表示したい(℃は文字として登録されていないのか、micro:bit上で表示できなかった)。

 数値を文字列に変換するのは、テキストでのプログラミングに親しんでいる人なら簡単なことで、(数値).toString()関数を使えばいいだけだ。という発想の元、筆者はここだけコーディングをJavaScriptに切り替えて書くことにした。

JavaScriptでも編集できる

 ブロックからテキストに切り替えるには、上部の「{}JavaScript」をクリックするだけ。ここまでブロックでプログラミングした内容をテキストで眺めてみると、変数宣言、イベント処理関数、そしてbasic.forever()というバックグラウンド処理関数の3つの大きな要素でできていることが分かる。

ブロックをコードとして見るとこのようになっている

 バックグラウンド処理ができたり、ボタンクリックのイベント処理ができたり、変数宣言にletを使っていたり、アロー関数を使っていたりする辺りにモダンさが感じられる。このようにブロックが意味するコードを随時確認できるのもMakeCodeの良いところである。

 さて、文字列の表示に当たる現在のコードがbasic.showString(temperature)なので、temperature.toString()として文字列に変換する。これだけだと温度の数字しか表示しないので、temperature.toString() + "C"として文字列を結合する。

toString()で文字列へ変換し、“C”と結合する

 以上でプログラムは完成だ。もう一度ブロック側に戻ってみると、「文字列を表示」ブロックに「文字列をつなげる」ブロックがつながり、さらにその中に「temperature.toString()」ブロックと「“C”」ブロックが内包される構造になっていた。

完成したブロック構造

 「temperature.toString()」はカラー的にどのブロックにも属していない。これは既存のブロックに変換できなかったということのようだ。もしブロックのみでプログラミングするとしたら、数値から文字列への変換にはもしかしたらてこずるのかもしれない(他にやり方があるかもしれないが)。

 この状態で左側にあるシミュレーターを動かしてみると、確かにボタンAを押すと温度表示のループが始まり、ボタンBを押すと表示が終了する。

1文字ずつ流れていく。「C」の文字をキャプチャーした

 シミュレーターでうまく動いたら、左下のダウンロードでプログラムファイルをダウンロードし、micro:bit直下のフォルダに配置する。これだけでインストールは終了し、実機でボタンを押せば温度表示のオンオフができるようになっているのが分かる。

実機で温度計が動作している様子

 ブロックを組み始めてから完成までかかった時間は30分ほど。その程度の時間で自分が考えたプログラムがmicro:bit上で動くのは、プログラミング体験としてはなかなか楽しいと感じた。

 温度センサーの他にも、光センサー、加速度センサー、コンパス、Bluetoothモジュール、外部接続コネクターなど拡張性は高い。これらを使ってどんなプログラムを作るかはユーザーの発想次第だ。

 micro:bitの価格は約2000円(税込)。遊べる幅を考えると安いといえるのではないだろうか。

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

アクセストップ10

2024年05月10日 更新
  1. 新型「iPad Pro」がM3チップをスキップした理由 現地でM4チップ搭載モデルと「iPad Air」に触れて驚いたこと (2024年05月09日)
  2. 個人が「Excel」や「Word」でCopilotを活用する方法は? (2024年05月08日)
  3. M4チップ登場! 初代iPad Proの10倍、前世代比でも最大4倍速くなったApple Silicon (2024年05月08日)
  4. Core Ultra 9を搭載した4型ディスプレイ&Webカメラ付きミニPC「AtomMan X7 Ti」がMinisforumから登場 (2024年05月08日)
  5. NECプラットフォームズ、Wi-Fi 6E対応のホーム無線LANルーター「Aterm WX5400T6」 (2024年05月09日)
  6. iPad向け「Final Cut Pro 2」「Logic Pro 2」登場 ライブマルチカム対応「Final Cut Camera」アプリは無料公開 (2024年05月08日)
  7. パナソニックがスマートTV「VIERA(ビエラ)」のFire OSモデルを6月21日から順次発売 Fire TVシリーズ譲りの操作性を実現 (2024年05月08日)
  8. SSDの“引っ越し”プラスαの価値がある! 税込み1万円前後のセンチュリー「M.2 NVMe SSDクローンBOX」を使ってみる【前編】 (2024年05月06日)
  9. これは“iPad SE”なのか? 新型iPadを試して分かった「無印は基準機」という位置付けとシリーズの新たな幕開け (2022年10月24日)
  10. “NEXT GIGA”に向けた各社の取り組みやいかに?──日本最大の教育関連展示会「EDIX 東京」に出展していたPCメーカーのブースレポート (2024年05月09日)
最新トピックスPR

過去記事カレンダー