キャリブレーション
センサーを使用し、それを使ったアプリケーションを開発しようとする前に行うべき非常に重要なことの 1 つは、その出力が実際に正しいことを検証することです。 そうでない場合は、センサーをキャリブレーションする必要があります (あるいは壊れている可能性もありますが、この場合はその可能性はかなり低いです)。
私の場合、2 台の異なる micro:bit で、キャリブレーションを行わない状態の magnetometer は、 本来測定すべき値からかなりずれていました。そのため、この章では センサーはキャリブレーションしなければならないものと仮定します。
キャリブレーションにはかなり多くの数学(行列)が関わるため、ここでは扱いませんが、 興味があれば Design Note に手順が説明されています。
ありがたいことに、micro:bit 向けの元のソフトウェアを作成したグループが、 すでに here で C++ によるキャリブレーション機構を実装しています。
その Rust への移植版は src/calibration.rs にあります。使い方は
デフォルトの src/main.rs ファイルで示されています。キャリブレーションの
動作はこの動画で説明されています。