MATLABでコードを書いてArduinoに転送して、Arduinoにつながっているセンサなどを動かすほかに、Simulinkで記述して、Arduinoに転送して動かす方法もあります。SimulinkでArduinoを動かす場合は、一度コードを転送すると、Arduinoがスタンドアロンで動いてくれるメリットがあります。デメリットは(当然ですが)Simulinkを持っていないとできないところかと思います。
Tutorialを元に、手順をまとめてみました。
まず、Simulinkのアドオンをインストールします。
MATLABのメニューバーから、アドオンをクリックし、「アドオンの入手」を選択します。
表示されたアドオンの中から「Simulink Support Package for Arduino Hardware」を選択します。
インストールボタンをクリックし、「インストール」を選択します。
Agreementを読み、「承諾する」を押します。あとは、「次へ」「次へ」を押します。
インストールが完了しました。「今すぐセットアップ」を押します。
スタートアップのチュートリアルはLチカのプログラムなので、LEDが点灯できるようにするとベターです。ここではUNOの9ピンに接続した場合を示しています。
ArduinoをPCに接続します。「次へ」を押します。
接続されているArduinoが表示されているか確認し、「次へ」を押します。
セットアップしますか?で「yes」にチェックが入っていることを確認し、「次へ」を押します。
接続テストをします。「test connection」を押します。
エラーが出てしまったときは、PCとArduinoの接続を確認し、「戻る」を押して、再度「test connection」します。
今度は、うまくいきました。「次へ」。
「サポートパッケージの例を表示します」にチェックが入っているのを確認し、「終了」。
Exampleが表示されます。今回は「Getting Started with Arduino Hardware」を選択します。
接続可能なArduinoの種類が表示されます。右上の「Open Example」をクリックします。
このサンプルではオシレータとArduinoのピン(ディジタル出力に設定)が接続されています。プログラムを起動するには、右上端の「Deploy To Hardware」をクリックします。
なぜかエラーが出ました。「ArduinoのボードがMega 2560でない」と言っています。
歯車のようなアイコン(モデル コンフィギュレーション パラメータ)をクリックします。
「ハードウェアボード」が「Mega2560」になっているので、「Uno」に変更します。
変更した後は、右下の「適用」を必ず押してから、「OK」を押してください。
「Deploy To Hardware」をクリックすると、今度はちゃんと動きました。
Arduinoに使えるSimulinkのライブラリを探すには、MATLABのコマンドウィンドウでslLibraryBrowserと入力します。
「Simulink Support Package for Arduino Hardware」の中のCommonが使えるようです。