유니티에서 아두이노 데이터 값 받는것에 대한 질문이 있습니다.

339 views
Skip to first unread message

FFline On

unread,
Apr 4, 2018, 7:07:28 AM4/4/18
to Ardunity Forum (Korea)
지금 자석센서를 가져다대면 유니티에서 큐브가 앞으로 가게하려고합니다.

문제가 리드스위치 하나를 사용하여 큐브 앞으로 조작은 되지만 

리드스위치 두개를 사용하여 유니티에서 값을 받으려하는데 어떠한 방식으로 받아야하는지 모르겠습니다.


시리얼 모니터에는 해당 리드스위치마다 값이 다 찍히고 유니티로 값을 넘기기까진하지만 큐브마다 데이터값을 어떻게 주어야하는지는 잘 모르겠습니다 ㅠㅠ



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

public class multi_reedSwitch_test2 : MonoBehaviour
{

    SerialPort sp = new SerialPort("COM5", 9600);

    int val2 = 0;
    int acc = 5;

    // Use this for initialization
    void Start()
    {
        sp.Open();
        sp.ReadTimeout = 1;
    }

    // Update is called once per frame
    void Update()
    {
        if (sp.IsOpen)
        {
            try
            {
                sp.Write("a");
                val2 = sp.ReadByte();
                if (val2 != 0) Debug.Log(val2);
                if ((val2 & 0x01) == 0x01)
                {
                    transform.Translate(Vector3.forward * Time.deltaTime * acc);
                    Debug.Log("내가 2번");
                }
        }
    }
}

위 소스를 각 큐브마다 적용하였더니  sp.Open 부분에서 포트 여는것때문인지 자꾸 IOException 오류가 납니다.

FFline On

unread,
Apr 4, 2018, 7:10:39 AM4/4/18
to Ardunity Forum (Korea)

 사진입니다.


Reply all
Reply to author
Forward
0 new messages