simulinkでシリアル通信のサーボモータを動かせますか?
조회 수: 14 (최근 30일)
이전 댓글 표시
シリアル通信のサーボモーターをDXSHIELD付きのarduinoで動作させたいのですが、simulinkで動作させることは可能でしょうか?
可能であれば、使用するブロックや参考になるモデルなどを教えていただきたいです。
{Arduino Support from SimulinkとarduinoIOは既にインストール済みです。}
댓글 수: 0
채택된 답변
Hiroshi Miyagawa
2020년 12월 1일
편집: Hiroshi Miyagawa
2020년 12월 1일
Simulinkのライセンスがあれば追加費用はかかりません。
以下の手順で入手いただけます。
MATLAB - アドオン - ハードウェア サポート パッケージの入手
Arduino に搭載されているセンサ、アクチュエータ、通信インターフェースにアクセスするためのSimulinkブロックが含まれていますので、ハンドコードすることなく Arduino にご自分のロジックを実装できます。
また、以下のウェビナーもご覧ください。
댓글 수: 3
Hiroshi Miyagawa
2020년 12월 2일
편집: Hiroshi Miyagawa
2020년 12월 2일
すでにサポートパッケージをインストール済みでしたね。ご質問をよく読まずに回答してしまいました。大変失礼いたしました。
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 ブロックについては以下のウェビナーで概要紹介していますのでご参照いただければ幸いです。
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Arduino Hardware에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!