เอาวีโมท(Wiimote)ควบคุม เลโก้เน็ค(Lego NXT)
ดาวน์โหลด WiimoteControllNXT
หลักการ
ต่อ wiimote กับคอมพิวเตอร์ผ่าน Bluetooth แล้วอ่านค่าการกดปุ่มด้วย
อีกส่วนหนึ่งคือการต่อ NXT กับ คอมพิวเตอร์ ผ่าน Bluetooth เช่นกัน แล้วควบคุมด้วย AForge.Net library
สิ่งที่ต้องการ
Codeที่สำคัญ
เชื่อมต่อกับ NXT
เชื่อมต่อกับ wiimote
การเช็ตค่าให้มอเตอร์ วิ่ง
การเช็คค่าให้มอเตอร์ หยุด
เมื่อกดปุ่มซ้ายให้มอเตอร์ C หมุน
ดาวน์โหลด WiimoteControllNXT
หลักการ
ต่อ wiimote กับคอมพิวเตอร์ผ่าน Bluetooth แล้วอ่านค่าการกดปุ่มด้วย
อีกส่วนหนึ่งคือการต่อ NXT กับ คอมพิวเตอร์ ผ่าน Bluetooth เช่นกัน แล้วควบคุมด้วย AForge.Net library
สิ่งที่ต้องการ
Codeที่สำคัญ
เชื่อมต่อกับ NXT
if (nxt.Connect("COM7")) { int power; nxt.GetBatteryPower(out power); System.Diagnostics.Debug.WriteLine(power); System.Diagnostics.Debug.WriteLine("Connected successfully "); } else { MessageBox.Show("Failed connecting to NXT device", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } |
เชื่อมต่อกับ wiimote
wm.WiimoteChanged += new WiimoteChangedEventHandler(wm_WiimoteChanged); wm.WiimoteExtensionChanged += new WiimoteExtensionChangedEventHandler(wm_WiimoteExtensionChanged); wm.Connect(); |
NXTBrick.MotorState motorStateGo = new NXTBrick.MotorState(); WiimoteState ws = args.WiimoteState; //set motorState Go motorStateGo.Power = (sbyte)127; motorStateGo.TurnRatio = (sbyte)50; motorStateGo.Mode = NXTBrick.MotorMode.On;// NXTBrick.MotorMode.Brake, NXTBrick.MotorMode.None, NXTBrick.MotorMode.Regulated motorStateGo.RunState = runStates[2]; //0:Idle, 1:RampUp, 2:Running, 3:RampDown |
NXTBrick.MotorState motorStateStop = new NXTBrick.MotorState(); //set motorState Stop motorStateStop.Power = (sbyte)0; motorStateStop.TurnRatio = (sbyte)0; motorStateStop.Mode = NXTBrick.MotorMode.None;// NXTBrick.MotorMode.Brake, NXTBrick.MotorMode.None, NXTBrick.MotorMode.Regulated motorStateStop.RunState = runStates[0]; //0:Idle, 1:RampUp, 2:Running, 3:RampDown |
if (ws.ButtonState.Left) { // set motor's state if (nxt.SetMotorState(NXTBrick.Motor.C, motorStateGo) != true ) { System.Diagnostics.Debug.WriteLine("Failed setting motor state"); } } |
ไม่มีความคิดเห็น:
แสดงความคิดเห็น