長いタイトルですが、Ardupilotはフライトコントローラーの状況を表示するディスプレイを取り付けることができます。
知っていたのですが、取り付けることにした理由は、釣り用ドローンを海岸にもっていった時の経験からです。釣りに使う時にパソコンまで持っていくのは面倒です。ラジコンだけで済ませたいでしょう。
ところがARM(航行開始)にならないのです。パソコンがないので理由がわかりません。そこで状況がわかるディスプレイが欲しい!ということでつけることにしました。
Ardupilot.orgの関係ページはこちらです。ArdupilotでサポートされているディスプレイモデルはSSD1306, SSH1106です。SSD1306は秋月電子で売られています。(Amazonでも入手できます)ただし、ピンのレイアウトがArdupilot.orgのページと違うところに注意してください。電源のプラスマイナスが逆です。
かなり小型です。
このデバイスはI2Cという通信方法でドライブします。I2Cは基板上に複数の装置を配置し、同じ信号線を共有して使うために考え出されました。
同じ信号線を使っているため、それぞれの装置はアドレスをもつことでコントロールされます。
実はI2Cは、私のPixhawk上では、すでにGPSによって使われています。複数のI2Cデバイスを使う場合、次のようなハブを取り付けてコネクターを増やします。
いろいろ調べるとGPSのアドレスは1, SSD1306は3Cらしいです。「らしい」と呑気なのはアドレスは違っていればいいので、真面目に追求しません。
Arduinoと繋いでいる人は多いので、使用記録はネットで簡単に検索してみることができます。
実際に配線したところです。
上からの線がGPSで、下からの線が今回増設しているディスプレイです。
接続をしただけでは動作しません。
フルパラメーターリストで NTF_DISPLAY_TYPE を1にセットします。(デフォルト0)
セットしてArdupilotをリブートすると見事に情報が表示されます。
表示内容は状況により変わります。
これは便利ですね。GSC(パソコン)がない時には役立つと思います。