IMU WT901からUARTでデータ取得③simulinkでクオータニオンのデータを取得

 前回、matlabのプログラムで、IMU WT901からクオータニオンの4値を取得しました。ここでは、simulinkを用いて、同様の値を得ます。

まずシリアルの接続

 ライブラリブラウザーのInstrument Control Toolboxから、Serial ConfigurationとSerial Receiveをドロップします。WindowsのデバイスマネージャーからIMU WT901のポート(COMとLPT)を表示し、COMポート番号を知ります。COM3でした。

 Serial Configurationです。PortをCOM3にしました。

 Serial Receiveは、次のようの変更します。

  • Data type :int16 2バイトに変更
  • Header :[0x55 0x59] このコードが来た後にクオータニオンの4値が送られてくる
  • Data size [4 1] データは四つ、int16×1の構成

出力

 ライブラリブラウザーのSinksからDisplayをドラッグしつなぎます。

 そのDisplayを少し縦横に伸ばします。

 右クリックして、ブロックパラメータの画面を出し、数値表示形式を「hex(整数格納)」に変更します。

 実行します。4値が16進で表示されています。

変換

 読んできた2バイトのデータを32768で割ると、目的の単位の値になります。そのために、GainとDisplayをドロップし、つなぎます。

 それどれ、内容を変更します。

 Gainです。1/32768に変更しました。

 Displayです。longに変更しました。

 実行します。

  前回のmatlabのプログラムを修正して、4値を表示します。ほぼ同じ値が得られていることがわかります。

環境

  • Windows10 Pro 21H2
  • matlab R2022a
  • simulink 10.5

前へ

IMU WT901からUARTでデータ取得②クオータニオンのデータを取得

次へ

IMU WT901からUARTでデータ取得④オイラー角