今年のゼミ夏合宿で「サーボを制御するのにHeartToHeartのようなツールが欲しい」という声があった。
Scratchのコスチューム切り換えの機能を流用すれば、それらしい機能を提供できそうだと思ったので、合宿中から早速取りかかってみた。
杉浦先生のMugbot Designerを参考にさせて頂いて(名前の一部も頂いて)、ほとんどの部分はあっという間に作り上げた。
ServoDesigner — github
ServoDesigner ではサーボのチャンネルを模した変数の値を一括して変更する機能しかない。その値を実際のサーボに設定するには別プログラムを使う。Scratchと別プログラムとの通信は Remote Sensor Protocol を用いて行い、 servo changed というブロードキャストメッセージによって、切り換えのタイミングが知らされる。なお、Based on Scratchで無効化されている Remote Sensor Protocol は、ServoDesignerを導入することで有効化される。
現時点では firmata で Arduino に接続されたサーボを制御するサンプルがあるが、今後はラズパイに接続されたサーボの制御プログラムなども用意していく。