arduino向unity3D工程中传递参数

问题描述

传感器获取信号,在arduino中以参数的形式表现。此时,我希望在unity中调取这个参数并利用这个参数做一些事情,因此,需要实现unity3d获取arduino中参数。
unity3的向arduino发送信号的教程见:在Visual Studio2019 中获取arduino端口的信息
从而最终实现unity3d中VS与arduino的信息双向传递。

具体过程

在unity3d的部分:
在这里插入图片描述
1,定义一个物体,然后将控制脚本挂在上面
在这里插入图片描述
在这里插入图片描述
2.端口信息定义见上面的参考文档
3.读取函数

//读取数据
    public void ReadData()
    {
        if (serialPort_1.IsOpen)
        {
            string a=serialPort_1.ReadExisting();
            print("数据为:");
            print(a);
            Thread.Sleep(200);
        }
        else
        {
            Debug.Log("Port is not opened");
        }
    }

在这里插入图片描述
以上完成在VS中的设置
arduino中的设置

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}
int p1=3;
void loop() {
  Serial.println(p1);
delay(200);
  // put your main code here, to run repeatedly:

}```
注意不要使用Serial.print,那样在unity中显示会出现重复读取的错误
## 效果
![在这里插入图片描述](https://img-blog.csdnimg.cn/7add140e52c04a689a98a8ae96812484.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5LqR5rW35rOb6Iif,size_20,color_FFFFFF,t_70,g_se,x_16)