渋谷ほととぎす通信

完全趣味でやってるUnityメモ。説明できないところを説明できるようにするための個人ブログ。昨日の自分より少しでも大きくなれるように。。。 ※所属団体とは一切関係がありません

UnityからArduinoへのシリアル通信


f:id:esakun:20181115024630p:plain:w450

Arduiono HelloWorldしてみる - 渋谷ほととぎす通信の続きです。

今回はArduinoを使ったシリアル通信をやってみようと思います。


基本はコチラの記事の内容をそのまま使わせてもらうわけですが、それだけだと芸がないのでUnityからArduinoへのシリアル通信もやってみようと思います。

ArduinoコンソールからArduinoへのシリアル通信

このコードは、文字列nを送信するとLEDが点灯し、fを送ると消灯するというシンプルな処理です。 Arduinoエディタから文字列を送信するためには、シリアルモニタを使用します。

f:id:esakun:20181115020640p:plain

この矢印部分をクリックします。

f:id:esakun:20181115020807p:plain:w450

シリアルモニタ内の、右下のボーレートをソースコード側と合わせます。
※今回は9600bps

f:id:esakun:20181115023957g:plain

文字列を入力して送信ボタン or エンターキーで送信できます。

UnityからArduinoへシリアル通信

こちらは以前作成したSerialPortWrapperというライブラリを使用して実装します。

Unityの実装コードはコチラ

ポイントはSerialPortWrapperのコンストラクタの第1引数にポート名、第2引数にボーレートを渡します。 ボーレートはArduino側のソースコードと合わせる必要があるので、9600を設定します。

ポート名は以下のコマンドを実行して出力された文字列を入力します。
※このときArduionoがUSBに接続されている必要があります

ls /dev/cu.*

画面上のnボタン、fボタンを押下することでLEDの点灯と消灯を実行することができます。

f:id:esakun:20181115023931g:plain

このようにSerialPortWrapperを使用することで、簡単にUnityから文字列を送信することができました。


以上