UnityとArduinoでSerial通信

UnityとArduinoでSerial通信を行う方法です。

はじめに

Arduinoの公式リファレンス
Arduino - Reference

Arduino日本語リファレンス
Arduino 日本語リファレンス

Arduino

const int AnalogPin = A0;

void setup() {

  Serial.begin(9600);
  
}

void loop() {

  Serial.println(analogRead(AnalogPin));

  delay(100);
  
}

Unity側

[Edit]->[Project Settings]->[Player]

Inspectorで
[Other Settings]->[Optimization]->[Api Compatibility Level][.Net2.0]に変更

f:id:Taka8:20160829185336p:plain


SerialTest.cs

using UnityEngine;
using System.IO.Ports;

public class SerialTest : MonoBehaviour
{

    SerialPort serialPort;

    void Start()
    {

        serialPort = new SerialPort("COM3", 9600);
        serialPort.Open();

    }

    void OnGUI()
    {

        GUILayout.Label(serialPort.ReadLine());

    }

}

"COM3"などはPCの設定に合わせて変更してください。


これで、Unity側でArduinoのアナログピン0の出力を受けとることができました。

Multiplayer Networking/Unity/Standard Assets/Nintendo Switch/Asset Store/Git/GitHub for Windows/Arduino/Blender/はてなブログ/