2017-02-19 8 views
1

Unity를 사용하여 Arduino를 제어하기 위해 Kinect (SDK 1.8)를 연결했습니다. Arduino에 StandardFirmata 프로토콜이로드되어 손쉽게 ON/OFF 할 수 있습니다. Mega2560). 그것은 Unity의 일종의 과부하와 arduino 로의 데이터 전송을 멈출 때까지는 몇 분 동안 잘 작동합니다. 이 문제를 해결하기 위해 내 코드에서 지연을 추가하는 방법에 대해 생각했지만 문제점을 해결할 수 있는지 알 수 없습니다.Unity + Kinect + Arduino = Nuilnitialize가 실패했습니다

게임 화면에 나타나는 오류 메시지는 입니다. "Nuilnitialize Failed - 장치가 정품이 아닙니다.". 어떤 도움에 미리으로

using System.Collections; 
using System.Collections.Generic; 
using UnityEngine; 
using Uniduino; 

public class GestionRelais : MonoBehaviour { 
    public Arduino arduino; 
    public GameObject NoeudATracker; 
    // Use this for initialization 
    void Start() { 
     arduino = Arduino.global; 
    } 

    void ConfigurePins() { 
     arduino.pinMode(13, PinMode.OUTPUT); 
     arduino.pinMode(9, PinMode.OUTPUT); 
    } 

    // Update is called once per frame 
    void Update() { 
     if (NoeudATracker.transform.position.x<=0) { 
      arduino.digitalWrite(13, Arduino.HIGH); 
      arduino.digitalWrite(9, Arduino.LOW); 
     } if (NoeudATracker.transform.position.x>0) { 
      arduino.digitalWrite(13, Arduino.LOW); 
      arduino.digitalWrite(9, Arduino.HIGH); 
     } 
    } 
} 

감사 :

그리고 여기 내 코드입니다! 건배,

에티엔 느.

+0

이 질문에 충분한 답변이 포함되어 있는지 확실하지 않습니다. 어쨌든 클래스 **를 stateful **로 시작하여 * pin 값이 엄격하게 필요한 * 경우에만 변경되도록 (예 :'x '값이 어느 방향으로나'0 '을 교차)'update() '를 수정합니다. 이것은 * Arduino * 하드웨어뿐만 아니라 * 통신 채널 *을 통한 스트레스를 제한해야합니다. –

답변

0

위의 USB 2.0 및 Unity 4.6 버전을 사용하는 경우이 오류가 발생합니다. kinect를 USB 3에 연결하십시오. 적은 그래픽이 있다면 unity 4.6 버전을 다운로드하고 사용해보십시오.