このmicro:bit入門編では、micro:bitが持ついろいろな機能や、プログラミングの仕方を紹介してきました。
今回のテーマは「変数」と「マイク」です!
※ micro:bitにマイク機能が付いたのはv2以降の基板です。v1.5などマイク機能がないバージョンもあります!ご注意ください
必要なもの
- PC(Makecode for Micro:bit)が動作する環境
- Micro:bit(マイクロビット)本体(※V2以降)
- USBケーブル(USB-A — MicroUSB)
- インターネット接続(Makecodeはインターネットにつながっていないと動きません)
変数とは何?
変数はプログラミングの基本的な概念で、「データを一時的に保存しておく箱」のようなものです。
この箱には数値や文字、その他のデータを入れることができます。
例えば、算数の授業で使う「x」や「y」のようなものと考えてみてください。変数を使うと、プログラムがさまざまな状況に対応することができるようになります。
変数を使うと、同じプログラムでも異なるデータを処理することが可能になります。
例えば、ゲームのスコアを管理する場合、変数を使って得点を保存し、ゲームが進むにつれてその値を更新していくことができます。
同様に、温度センサーのデータやユーザーからの入力データを変数に保存することで、リアルタイムに変化する情報をプログラムで扱うことができます。
今回のプログラムでは、手をたたいた回数を数えるために「音の回数」という変数を使います。
これは、手をたたくたびに変数の値が1ずつ増えるという動作を実現するためです。このように、変数を使うことでプログラムに柔軟性を持たせることができ、さまざまな応用が可能になります。
変数を作ってみよう!
まず、変数「音の回数」を作ってみましょう。これは手をたたいた回数を数えるためのものです。MakeCodeのブロックエディターを使用して、簡単に変数を作成することができます。
- MakeCodeのブロックエディターを開く:Makecode for microbitにアクセスして、新しいプロジェクトを作成します。
MakeCodeは、ブロックを組み合わせることでプログラムを作成できる便利なツールです。 - 変数を作成する: MakeCodeの画面左側にある「変数」カテゴリーをクリックし、「変数を追加する」ボタンを押します。
表示されたダイアログボックスに変数名を「音の回数」と入力し、OKボタンをクリックします。これで新しい変数が作成されます。 - 初期化ブロックを追加する: 「変数」カテゴリーから「音の回数を0にする」ブロックをドラッグして、最初に実行されるブロック(「最初だけ」ブロック)に追加します。
このブロックはプログラムが始まるときに変数「音の回数」を0にリセットします。これにより、プログラムが開始されるたびにカウントが正しくリセットされるようになります。
Micro:bit(マイクロビット)のマイクを使おう!
次に、micro:bitのマイク機能を使って、周囲の音を検出する方法を学びます。
マイクロビットには小型のマイクロフォンが内蔵されており、周囲の音の大きさを数値で測定することができます。
この数値は【0から255】の範囲で表されます。
音が大きいほど数値は高くなります。
マイクロビットのマイク機能を使うことで、周囲の環境音に反応するプログラムを作成することができます。
例えば、拍手の音を検出してLEDマトリクスにメッセージを表示したり、特定の音量を超えたときにアラームを鳴らすプログラムを作成したりすることが可能です。
今回は、手をたたく音を検出してカウントアップするプログラムを作成します。
手をたたく音は比較的短くて大きな音なので、一定のしきい値を超えたときにカウントすることができます。これにより、手をたたくたびにカウントが増えていく仕組みを作ることができます。
プログラムを作ってみよう!
今回作るプログラムの流れは以下の通りです:
- 初期状態では、マイクロビットのLEDマトリクスに「0」を表示します。これは、プログラムが開始されたときの初期設定です。
- 手をたたくたびに、表示される数字が「+1」されます。これにより、手をたたくごとにカウントが増える仕組みを作ります。
手順
- 初期設定:
- MakeCodeエディターの「最初だけ」ブロックの中に、変数「音の回数」を0に初期化するブロックを置きます。これにより、プログラムが開始されたときに変数がリセットされます。
- また、「うるさいかどうかのしきい値」を128に設定するブロックを追加します。これは、音の大きさが128を超えた場合に「うるさい」と判断するための設定です。
- 音の検出:
- MakeCodeエディターの「入力」-「まわりの音がうるさくなったとき」ブロックをドラッグします。
- このブロックの中に、変数「音の回数」を1増やすブロックを配置します。これにより、音が検出されたときにカウントが1増えます。
- 数の表示:
- 「ずっと」ブロックの中に、「音の回数」を表示するブロックを追加します。これにより、常に最新のカウントがLEDマトリクスに表示されます。
以下はプログラムの完成図です。ブロックの配置や内容は以下のようになります:
動作イメージ
リセット状態:LED表示は「0」となっています。ちなみにマイクを利用するプログラムをmicro:bitに転送すると、基板上のマイクアイコンが発光します。
micro:bitの近くで手をたたくと、その都度LED表示が+1されます。
今回は、「うるさいかどうかのしきい値」を128に設定していますが、この数字を変えるとカウントアップするかどうかのしきい値が変わります。いろいろ試してみてください!
まとめ
以上が今回のプログラムの作成手順です。簡単な手順でマイクロビットのマイク機能を使って、音をカウントするプログラムを作ることができます。
MakeCodeを使えば、プログラミング初心者でも直感的にブロックを組み合わせてプログラムを作成することができるため、ぜひチャレンジしてみてください。
今回のプログラムを通じて、変数の使い方や音の検出方法を学び、さらに興味を持っていただければ幸いです。