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