Arduino はシリアル通信も簡単に扱えます。Arduino Uno には、ボード上に USB Serial 変換用のIC (ATMega8U2 のソフトウェアでの実装) が付いており、Mac とはUSB で接続します。
既に行っている、IDE での書き込みと全く同じです。
残念なことに、Mac はシリアル通信と相性が悪く、良いTerminal ソフトがありません。(Recotana さんのUARTcom と松田さんのSeriette に期待しているのですが、どちらも公開されていないようです。)
しかたがないので、IDE 付属のシリアルモニターを紹介します。
(追記:CoolTerm というソフトがありました! お勧めです。)
Arduino IDE のツールバー一番右端のボタンが Serial Monitor です。
(使用するポートは書き込みに使うポートと同じです。)
簡単な通信パラメータの設定と、文字列の送信ができます。
Arduino のサンプルコードと通信してみましょう。
File > Examples > 4.Communication > SerialCallResponseAscii
Arduino に書き込んだら、シリアルモニターを開きます。
こちらから何でもいいので文字を送ると、ポートa0, a1, d2 の状態を返してきます。
(ここでは文字 a を送信)
同じような名前のサンプル
File > Examples > 4.Communication > SerialCallResponse
こちらは、値をByte のまま送っています。文字化けしたような状態になりますが、こちらの方が少ないバイト数で送れ、受信プログラムも簡単なので、こちらの方が一般的です。
また、これらのサンプルの下の方には、コメントアウトされた状態でProcessing 用とMax/MSP version 5 用の受信プログラムも書かれています。
それぞれ、コピー&ペーストするなどして、使用します。
それぞれ、コピー&ペーストするなどして、使用します。
Processing は Java ベースでグラフィックに強い、フリーのプログラム開発環境です。IDE は Arduino に非常に良く似ています。
Processing 用のサンプルを実行するとこのような画面になります。
送られたデータの a0 がX 座標、a1 がY 座標、d2 が描画色(白か黒)に対応しています。
同じシリアルポートを複数のプログラムから同時に開くことはできないため、Processing のプログラムを動かす前に、Arduino IDE のシリアルモニターを閉じて下さい。
また、Arduino IDE のシリアルモニターは同時に複数のポートを扱えません。Aruduino を複数台扱う時など、複数のシリアルポートを同時に開きたい場合は、Arduino IDE を別の場所にコピーし、複数起動すれば使えるようです。
0 件のコメント:
コメントを投稿