如何在Unity应用程序中从Android手机中连接的USB Arduino设备读取串行端口?

时间:2019-09-16 18:48:37

标签: c# android unity3d arduino serial-port

我试图在Unity中创建一个应用程序,我需要从串行端口读取一些值到Android设备中。

Arduino通过OTG电缆连接到android。

我已经将此值调试到PC中,这很好。

然后我将arduino连接到Android。并通过apk监控器串行读取值,并在设备中正常工作。但不进入我的应用程序。我不知道我是否需要一些权限才能读取应用程序内部。

多数民众赞成在我最喜欢读的课

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO.Ports;

public class VirandolaRead : MonoBehaviour
{
        SerialPort vir = new SerialPort("COM7", 9600);

    public float finalValue;
    public float virandola = 0;
    public float reduction = 100;

    // Start is called before the first frame update
    void Start()
    {
        vir.Open();
        //vir.ReadTimeout = 2;
    }

 // Update is called once per frame
    void LateUpdate()
    {
            ReadValue();
            NormalizeValue();

    }

    public void ReadValue(){
         if (vir.IsOpen)
        {
                virandola = reduce_value(float.Parse(vir.ReadLine()), reduction);
        }
    }

    public void NormalizeValue(){
        finalValue = Mathf.Lerp(virandola,finalValue,Time.deltaTime);
    }

    public float reduce_value(float amount, float reduction)
    {
        return amount / reduction;
    } 
}


进入统一调试并通过usb连接的应用程序可以正常工作,但是当我制作一个应用程序以调试值但设备中的值仍然为0时。

0 个答案:

没有答案