Posted at

Max/mspで大量の家電を扱う時の工夫

More than 3 years have passed since last update.


 はじめに。

メディアアート製作のために、大量の家電を制御しています。

制御上の大きな構造としては、<Max→Arduino→リレー回路→家電>という流れです。

この際のこの際の注意点や工夫を共有できればと思います。


Maxの欠点

私たちは、Maxから6つのArduinoを制御するのですが、

家電を制御する際に、最初は全ての動作プログラムと、それの命令先の指定も全てMax上で行おうと考えていました。

しかし、実際にその大量のプログラムをMaxで行おうとすると負担が大きく難しいという結論に至りました。

Maxはプログラム初心者には優しく、使いやすいのですが、プログラムの量が多くなると、画面が見ずらくなり、負担も大きくなってしまうという欠点があります。

そこで、ArduinoとMaxでプログラムの"分担"を行うことにしました。


APIとシリアル通信

通常、MaxからArduinoを制御する際、Maxuinoとstandardfilmataを、それぞれMaxとArduinoに入れて、全ての動作指令をMax上で行います。

通常はそれで問題ないはずなのですが、今回のように大量の家電を別々の動かし方をするとなると、Maxでの負担が大きくなります。

そこで私たちは、あらかじめArduino上で具体的な動作の仕方をプログラムし、その動かし方それぞれをナンバリングします。

そうすることで、Maxからはシリアル通信を使って、番号を下すだけで家電が動作します。

長く複雑な動作のプログラムはArduino上になりますので、Max上では単に番号を下すだけになります。

Maxに掛かる負担も減り、ウインドウはシンプルになるので、システムとしてスマート制御できるでしょう。

※この場合、動作のタイミングなどを変更したい場合はArduino本体へ直接プログラムを書き込まないといけないので多少手間がかかりますので注意。