micro:bit 内蔵のセンサーを使ってみます。
micro:bit のバージョンの確認
microbit には新旧バージョンの基板があり、搭載されているセンサーの種類が違います。基板の裏面を確認してください。写真左側が旧基板、右側が新基板です。教材として使っているのは新バージョンの基板なので、その前提で説明を進めます。(旧基板のmicrobitが混入していたら連絡してください。)
ちなみに、2020年11月に更に新しいバージョン(micro:bit V2)がリリースされていますが、授業では使用していません。
ライブラリの導入、サンプルプログラムの入手
Github からセンサーのライブラリを導入します。
上記ページで [Code]>[Download ZIP] を選ぶとZIPファイルが降りてきます。Arduino IDE の [スケッチ]>[ライブラリをインクルード]>[.ZIP形式のライブラリをインストール] で、ダウンロードしたZIPファイルを指定するとライブラリがインストールされます。
Github のページに戻り、examplesのフォルダーの下にサンプルプログラムがあるので、そのソースコードを Arduino IDE に貼り付けてコンパイル、micro:bit に書き込んでください。Githubのページに、API情報が書いてあります。API情報とサンプルプログラムを見比べて、各センサー値の読み方を確認してください。
- 加速度 : Acc->GetAxes()
- 温度 : Acc->GetTemperature()
- 磁気 : Mag->GetAxes()
シリアルモニタで確認
[ツール]>[シリアルポート] に “BBC micro:bit” の文字列が含まれるものが選択されていることを確認したら、[ツール]>[シリアルモニタ] を開いて加速度・磁気・温度の各センサーの値が読めていることを確認してください。このとき、サンプルプログラムが通信速度を9600bpsに設定しているので、シリアルモニタも9600bpsに設定しなければなりません。シリアルモニタを閉じて、[ツール]>[シリアルプロッタ] でセンサーの値がグラフ表示されることを確認してください。micro:bit を振ったり傾けたりするとグラフが変化します。プログラム中に delay(250); の命令が2行ありますが、この値を小さく変更して書き込むとセンサーの反応が早くなり見やすくなります。例えば、delay(250); → delay(50);
課題
センサーから温度データを読み取って、micro:bitのLEDアレイに温度を表示するプログラムを作ってください。
コメント