2017-02-19 7 views
1

Unityを使用してArduinoを制御するためにKinect(SDK 1.8)を接続しています(ArduinoにStandardFirmataプロトコルがロードされている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

この質問には十分な詳細が記載されているかどうかはわかりません。とにかく、あなたのクラス**をステートフル**にして、* pinの値が厳密に必要なときにのみ変更されるように 'update()'を変更します*(例えば 'x'の値はどちらの方向でも' 0 'を交差)。これは、* Arduino *ハードウェアだけでなく、*通信チャネル*のストレスを制限するはずです。 –

答えて

0

上記のUSB 2.0およびUnity 4.6をお持ちの場合は、このエラーが発生します。 USB3にkinectを接続してみてください。グラフィックが少なければunity 4.6のバージョンをダウンロードしてみてください。

関連する問題