キャリブレーション

センサを使ってアプリケーションを作る前に、まずなによりも大切なことがあります。センサの出力が正しいことを確認することです。もし正しくないようなら、センサのキャリブレーションが必要です。(可能性は低いですが、故障しているということもあります。)

筆者がふたつのmicro:bitの磁力計をキャリブレーションせずに試してみたところ、想定される測定値からずいぶん外れていることがわかりました。ですからこの章では、センサはキャリブレーションされるべきものだとします。

キャリブレーションにはかなりの数学(行列)が必要となるので、ここでは詳細は説明しません。もしも処理の仕方に興味があれば、アプリケーションノートに解説があります。

ただ幸いにも、キャリブレーションの仕組みはmicro:bitのソフトウェア開発チームがすでにC++で実装してくれています。これがそのコードです。

このコードのRustへの翻訳は、src/calibration.rsを見てください。使用例はsrc/main.rsで確認できます。実際のキャリブレーションの様子は、このビデオを見てください。

要は、LEDマトリクス上のすべてのLEDが点灯するまでmicro:bitを傾ければいいのです。

アプリケーションをリスタートするたびにこの作業をするのは面倒かもしれません。そうであれば、src/main.rsを修正し、最初のキャリブレーションで得た値をそのまま使い続けてもかまいません。

ではキャリブレーションができたところで、実際にアプリケーションを作りはじめましょう!