simulinkでシリアル通信のサーボモータを動かせますか?
9 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
遼 江口
el 30 de Nov. de 2020
Comentada: 遼 江口
el 4 de Dic. de 2020
シリアル通信のサーボモーターをDXSHIELD付きのarduinoで動作させたいのですが、simulinkで動作させることは可能でしょうか?
可能であれば、使用するブロックや参考になるモデルなどを教えていただきたいです。
{Arduino Support from SimulinkとarduinoIOは既にインストール済みです。}
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/434638/image.jpeg)
0 comentarios
Respuesta aceptada
Hiroshi Miyagawa
el 1 de Dic. de 2020
Editada: Hiroshi Miyagawa
el 1 de Dic. de 2020
Simulinkのライセンスがあれば追加費用はかかりません。
以下の手順で入手いただけます。
MATLAB - アドオン - ハードウェア サポート パッケージの入手
Arduino に搭載されているセンサ、アクチュエータ、通信インターフェースにアクセスするためのSimulinkブロックが含まれていますので、ハンドコードすることなく Arduino にご自分のロジックを実装できます。
また、以下のウェビナーもご覧ください。
3 comentarios
Hiroshi Miyagawa
el 2 de Dic. de 2020
Editada: Hiroshi Miyagawa
el 2 de Dic. de 2020
すでにサポートパッケージをインストール済みでしたね。ご質問をよく読まずに回答してしまいました。大変失礼いたしました。
ArduinoからDXSHIELDを介してモータを動かした経験者が身近にいませんでしたので、以下「できると思います」という表現であることをご容赦頂ければ幸いです。
以下の2通りの実現方法があると思います。
- サポートパッケージにあるシリアル通信ブロックを使う
- DXLIB_ArduinoをS-Functionから使う
1.
DXSHIELDを接続しているArduinoのピン番号を確認し、シリアル通信ブロックに設定します。
パケット処理プログラムをSimulinkで記述しその結果をシリアル通信ブロックに入力します。
2.
S-Function や S-Function Builder でDXLIB_Arduinoライブラリをコールするように記述する方法もありますが、R2018b以降なら'C Caller'、R2020a以降なら'C Function'というブロックがあります。DXLIB_Arduinoライブラリの全ての関数には引数と返り値があるようですので、'C Caller'ブロックが使いやすいと思います。
C Caller ブロックについては以下のウェビナーで概要紹介していますのでご参照いただければ幸いです。
Más respuestas (0)
Ver también
Categorías
Más información sobre モデル化 en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!