2023年11月24日金曜日

PixHawkにOLEDを接続

 手持ちのOLEDをPixHawkに接続した。

ケーブルはI2Cなので、GPSモジュールの磁気センサーのI2Cと共用する必要があります。
I2C拡張ボードをPixHawkに接続して、 I2C拡張ボードのコネクタにM8N GPSモジュールの磁気センサーのコネクタを接続し、 そこにOLEDも接続します。

PixHawkの設定も変更します。 NTF_DISPLAY_TYPE コマンドで指定します。 
デフォルトではDisableになっているので、OLEDのtypeに合わせた設定に変更します。

Mission Plannerの 設定/調整 のメニューから、 フルパラメータリストを選びます。
絞込み検索に Display と入力すると、
コマンドの列にNTF_DISPLAY_TYPEが表示されます。 デフォルトでは値が0になっているのでDisableの状態です。 これを接続したOLEDのtypeに合わせて変更します。
私の手持ちのOLEDは何も記載がありません。 

ネットで形状をググると、SSD1306か SH1106のどちらかです。  
試しにSSD1306だと考えて1と入れてみました。 設定ができませんでした、というようなメッセージが表示されます。

2と入れてみましたが、同じです。 
試しにUSBケーブルを外してリブートをしてみましたが、何も表示されません。

ちょっとがっかりしましたが、気を取り直して、
もう一度1と入れ直して、 電源ケーブルを抜き差しして、リブートしたら、表示されるようになりました。 

私の手持ちのOLEDは SSH1306だったようです。 マジックで書いておこう。


(結論)OLEDはI2Cに接続して、Mission Plannerで設定の NTF_DISPLAY_TYPEを1にすればよかったようです。 できてしまえば簡単でした。

0 件のコメント:

コメントを投稿