1
我連接我的Kinect(SDK 1.8)以使用Unity控制Arduino(根據手的位置簡單開/關,StandardFirmata協議載入Arduino Mega2560)。它可以在幾分鐘內運行良好,直到Unity重載並停止向Arduino發送數據。 我想在我的代碼中添加一個延遲來解決這個問題,但我不知道它是否能解決問題。Unity + Kinect + Arduino = Nuilnitialize失敗
我在遊戲畫面中收到的錯誤信息是「Nuilnitialize失敗 - 設備不是正版。」。
這裏是我的代碼:
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);
}
}
}
感謝由您的幫助! 乾杯,
艾蒂安。
我不確定這個問題是否包含足夠的細節來回答。無論如何,我首先要讓你的類成爲有狀態的**並修改'update()',以便只有在嚴格需要時(例如'x'值在任一方向上越過0),才能更改* pin的值。這應該限制*通信通道*以及通過* Arduino *硬件的壓力。 –