こんにちは、エンジニアのオオバです。
今回はArduinoを使ったシリアル通信をやってみようと思います。

完全初心者向けArduinoで最も簡単なはじめの一歩
Arduinoを始めよう!(1)シリアル通信編 | Think IT(シンクイット)
基本はコチラの記事の内容をそのまま使わせてもらうわけですが、それだけだと芸がないのでUnityからArduinoへのシリアル通信もやってみようと思います。
ArduinoコンソールからArduinoへのシリアル通信
このコードは、文字列n
を送信するとLEDが点灯し、f
を送ると消灯するというシンプルな処理です。
Arduinoエディタから文字列を送信するためには、シリアルモニタを使用します。

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

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

文字列を入力して送信ボタン or エンターキーで送信できます。
UnityからArduinoへシリアル通信
こちらは以前作成したSerialPortWrapperというライブラリを使用して実装します。
Unityの実装コードはコチラ
SerialSample.cs · GitHub
ポイントはSerialPortWrapperのコンストラクタの第1引数にポート名
、第2引数にボーレート
を渡します。
ボーレートはArduino側のソースコードと合わせる必要があるので、9600を設定します。
ポート名は以下のコマンドを実行して出力された文字列を入力します。
ls /dev/cu.*
画面上のnボタン、fボタンを押下することでLEDの点灯と消灯を実行することができます。

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

この記事が気に入ったらフォローしよう
- macOS Mojave 10.14
- Arduino Genuino 1.8.7
- Arduino/Genuino Uno