Simulink OnlineからRaspberry PiのLEDを光らせる
前回はMATLAB/Simulink Onlineからラズパイを制御するためのセットアップを行い、無事にラズパイを認識することができた。今回はSimulink OnlineからラズパイについているLEDを光らせてみる。
といっても、基本的には以下の公式チュートリアルをなぞっていくだけ。やることも同じだが、以下のページは英語のチュートリアルだが私のSimulink Onlineの環境は日本語なので(設定で英語にもできるとは思うが)、画像などもつけてやったことをメモっておく。
Connect to Raspberry Pi Hardware Board in Simulink Online
実行環境
Raspberry Pi 4 Model B
Raspberry Pi OS (Buster)
MATLAB online (MATLAB R2022a)
Simulink online
Connected IOを使ってSimulink OnlineからRaspberry Piと通信する
Simulinkからラズパイを動かすには、Connected IOという機能で動かす方法と、Simulinkのモデルをビルドして生成されたコードをラズパイにデプロイして動かす方法がある。今回はチュートリアルに沿って両方やってみるが、まずはConnected IOを使う方法から。
まずはラズパイと通信ができるようになった状態で、MATLAB Onlineを開いて以下を実行。
open_system('raspberrypi_gettingstarted')
しばらくするとSimulink Onlineで以下の画面が立ち上がる。ラズパイを動かすにはいくつか設定が必要なので(デフォルトで設定されている部分もあるが)、まず「モデル化」タブから「モデル設定」をクリック。
設定画面で、「ハードウェア実行」からハードウェアボードを「Raspberry Pi」にして、Target hardware resourcesのDevice Nameを、前回設定した自分のラズパイの名前にする。またConnected I/OをクリックしてInternetを選択する。これでOK。
あとはは「ハードウェア」タブで「指定されたIO」を選んで「IOを使って実行」をクリックすればラズパイ上で、Simulinkモデルの内容が実行される。初期サンプルでは、周期1秒でラズパイ上のLEDが点滅するLチカのモデルになっている。
以下が実際に実行してみた結果。無事にラズパイ上でLチカを実行することができた。
Simulink OnlineからRaspberry PiにSimulinkモデルをDeployする
次に、Simulinkモデルをビルドしてラズパイにデプロイする方法で光らせてみる。といっても設定はConnected IOで動かす方法とほぼ一緒で、実行するときに「指定されたIO」→「ボード上で実行」に変更して「ビルド、展開、起動」をクリックすればOK。
この方法でも光らせることができた。ちなみに、このサンプルではPulse Generatorでラズパイへの信号をつくっているので、Pulse Generatorのブロックをダブルクリックして開いて、設定を変えればLEDの光り方を変えることができる。例えば、以下のように周期20、パルス幅10にすれば、周期2秒でLEDを点滅することができる。
これでSimulink Onlineからラズパイを動かす流れがわかった。Simulinkで動かせるラズパイ用のモデルは以下のサイトの「Modeling」のページにまとめて書いてあったので、次回以降はそちらを参考にしながら、いろいろなモデルを試しながらラズパイを動かしてみたいと思う。
Simulink Support Package for Raspberry Pi Hardware Documentation – MathWorks 日本
参考文献
この本のMATLAB/Simulink 6か月ライセンスを使ってやってます↓
Interface 2022年 9月号
MATLAB/Simulink記事まとめ
MATLABとSimulinkの記事は以下にまとめてます。