コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】【Arduino】ビルド中に LED を光らせる

スクリプト

Arduino

void setup()
{
  Serial.begin( 9600 );
  pinMode( 13, OUTPUT );
}

void loop()
{
  if ( Serial.available() <= 0 ) return;

  char data = Serial.read();
  int num = data == '1' ? HIGH : LOW;
  digitalWrite( 13, num );
  Serial.flush();
}

Unity

using System.IO.Ports;
using UnityEditor;
using UnityEditor.Build;

public class Example: IPreprocessBuild, IPostprocessBuild
{
    private SerialPort serial;

    public int callbackOrder { get { return 0; } }

    public void OnPreprocessBuild( BuildTarget target, string path )
    {
        serial = new SerialPort( "COM3", 9600 );
        serial.Open();
        serial.Write( "1" );
    }
    
    public void OnPostprocessBuild( BuildTarget target, string path )
    {
        serial.Write( "0" );
        serial.Close();
    }
}