年代物の航空機用高度計をハック——マウンテンバイクでの上り下り移動をグラフで可視化
2023/09/14 06:30
古い航空機用高度計をハックし、マウンテンバイクでの上り下り移動を折れ線グラフとグラフ上を移動する点で視覚的に表示するプロジェクトを、Raspberry Pi公式ブログが紹介した。
Raspberry Pi PicoとRaspberry Pi 400、そして自作のデジタル-シンクロ(D2S)コンバーターを使用するこのプロジェクトでは、マウンテンバイクでの走行中に腕時計が記録した時刻、緯度、経度、高度を元に、マウンテンバイクで移動した際の高度を折れ線グラフとして表示し、実際の速度の60倍速でグラフ上の点が移動することで、マウンテンバイクでの上り下りを可視化する。
移動中に記録されたデータは、まずGPX形式でRaspberry Pi 400にエクスポートする。Raspberry Pi 400上でPythonスクリプトがGPXファイルを読み込み、高度データをTTLシリアルポート経由でRaspberry Pi Pico開発ボードに出力する。この時に実際の走行速度が60倍速に換算される。Raspberry Pi Picoは高度データのポイントをシンクロ角度に変換して、400Hz信号をD2Sコンバーターボードに出力し、高度計を制御する電圧に変換する仕組みだ。
Pythonスクリプトのコードの大部分は高度プロファイルのグラフ描画に費やされており、スクリプトにはGPXファイルを解析するgpxpyモジュール、高度プロファイルをグラフ化するpygameモジュール、高度データをD2Sコンバーターに送信するserialモジュールを使用している。
自作D2Sコンバーターは1枚のボードに収まっており、Microchip Technology製DAC「MCP4802」3個とTexas Instruments製パワーオペアンプ「OPA548」3個を使用して、高出力の400Hz交流(AC)波形を生成し、高度計のサーボループに電力を供給して制御する。
Raspberry Pi Picoは自作のアダプターボードに取り付けられており、アダプターボードの直角型7ピンヘッダーソケットを使用してD2Sコンバーターボードと接続している。このプロジェクトの開発者によると、以前作製したD2Sコンバーターでは、Raspberry Pi Picoを含む4枚のボードをジャンパーワイヤーで接続していたが、ジャンパーワイヤーが数十本必要で使い勝手が悪かったため、代わりに、ジャンパーワイヤーを使用しない現在の構成を採用したとのことだ。