public static void Main (string[] args) { ManualResetEvent terminateProgram = new ManualResetEvent (false); GyroMode[] modes = {GyroMode.Angle, GyroMode.AngularVelocity}; int modeIdx = 0; ButtonEvents buts = new ButtonEvents (); var gyro = new EV3GyroSensor(SensorPort.In2, GyroMode.Angle); LcdConsole.WriteLine("Use gyro on port 1"); LcdConsole.WriteLine("Up read value"); LcdConsole.WriteLine("Down rotation count"); LcdConsole.WriteLine("Left reset"); LcdConsole.WriteLine("Enter change mode"); LcdConsole.WriteLine("Esc. terminate"); buts.EscapePressed += () => { terminateProgram.Set (); }; buts.UpPressed += () => { LcdConsole.WriteLine ("Gyro sensor: " + gyro.ReadAsString()); }; buts.EnterPressed += () => { modeIdx = (modeIdx+1)%modes.Length; gyro.Mode = modes[modeIdx]; LcdConsole.WriteLine("Mode: " + modes[modeIdx]); }; buts.DownPressed += () => { LcdConsole.WriteLine ("Rotation count: " + gyro.RotationCount()); }; buts.LeftPressed += () => { LcdConsole.WriteLine ("Reset"); gyro.Reset(); }; terminateProgram.WaitOne (); }
public static int Gyroscope() { MonoBrickFirmware.Sensors.EV3GyroSensor Gyroskoopje = new MonoBrickFirmware.Sensors.EV3GyroSensor(MonoBrickFirmware.Sensors.SensorPort.In2); int graden = Gyroskoopje.Read(); LcdConsole.WriteLine("Graden: " + graden); return(graden); }
// センサ/モータ // タッチセンサ 1 // 超音波センサ 2 // カラーセンサ 3 // ジャイロセンサ 4 // 尻尾用モータ A // 右車輪用モータ B // 左車輪用モータ C public EquipmentParameters () { // 車両情報 // ポート番号 TailMoter = new Motor(MotorPort.OutA); MpRight = new Motor(MotorPort.OutB); MpLeft = new Motor(MotorPort.OutC); TouchSensors = new EV3TouchSensor(SensorPort.In1); // TODO : 超音波センサーはLのみ(Primary) DistSensors = new EV3UltrasonicSensor(SensorPort.In2, UltraSonicMode.Centimeter); // 反射 LightSensors = new EV3ColorSensor(SensorPort.In3, ColorMode.Reflection); GyroSensors = new EV3GyroSensor(SensorPort.In4, GyroMode.AngularVelocity); }
public static ISensor GetSensor(SensorPort port) { ISensor sensor = null; SensorType sensorType = SensorManager.Instance.GetSensorType(port); ConnectionType connectionType = SensorManager.Instance.GetConnectionType(port); switch (sensorType) { case SensorType.Color: sensor = new EV3ColorSensor(port); break; case SensorType.Gyro: sensor = new EV3GyroSensor(port); break; case SensorType.IR: sensor = new EV3IRSensor(port); break; case SensorType.NXTColor: sensor = new NXTColorSensor(port); break; case SensorType.NXTLight: sensor = new NXTLightSensor(port); break; case SensorType.NXTSound: sensor = new NXTSoundSensor(port); break; case SensorType.NXTTouch: sensor = new NXTTouchSensor(port); break; case SensorType.NXTUltraSonic: sensor = new NXTUltraSonicSensor(port); break; case SensorType.Touch: sensor = new EV3TouchSensor(port); break; case SensorType.UltraSonic: sensor = new EV3UltrasonicSensor(port); break; case SensorType.NXTI2c: var helper = new I2CHelper(port); sensor = helper.GetSensor(); break; case SensorType.Unknown: if (connectionType == ConnectionType.UART) { var uartHelper = new UARTHelper(port); sensor = uartHelper.GetSensor(); } if (connectionType == ConnectionType.InputResistor) { sensor = new EV3TouchSensor(port); } break; case SensorType.I2CUnknown: break; case SensorType.NXTTemperature: break; case SensorType.LMotor: break; case SensorType.MMotor: break; case SensorType.NXTTest: break; case SensorType.Terminal: break; case SensorType.Test: break; case SensorType.Error: break; case SensorType.None: break; } return(sensor); }
/// <summary> /// コンストラクタ /// </summary> public Balanc3R() { motorR = new Motor(MotorPort.OutA); // 右足 motorL = new Motor(MotorPort.OutD); // 左足 speaker = new Speaker(0); gyro = new EV3GyroSensor(SensorPort.In2); // 角速度を取得 gyro.Mode = GyroMode.AngularVelocity; ir = new EV3IRSensor(SensorPort.In4); ir.Mode = IRMode.Remote; }
public static ISensor GetSensor (SensorPort port) { ISensor sensor = null; SensorType sensorType = SensorManager.Instance.GetSensorType (port); ConnectionType connectionType = SensorManager.Instance.GetConnectionType (port); switch (sensorType) { case SensorType.Color: sensor = new EV3ColorSensor (port); break; case SensorType.Gyro: sensor = new EV3GyroSensor (port); break; case SensorType.IR: sensor = new EV3IRSensor (port); break; case SensorType.NXTColor: sensor = new NXTColorSensor (port); break; case SensorType.NXTLight: sensor = new NXTLightSensor (port); break; case SensorType.NXTSound: sensor = new NXTSoundSensor (port); break; case SensorType.NXTTouch: sensor = new NXTTouchSensor (port); break; case SensorType.NXTUltraSonic: sensor = new NXTUltraSonicSensor (port); break; case SensorType.Touch: sensor = new EV3TouchSensor (port); break; case SensorType.UltraSonic: sensor = new EV3UltrasonicSensor (port); break; case SensorType.NXTI2c: var helper = new I2CHelper (port); sensor = helper.GetSensor (); break; case SensorType.Unknown: if (connectionType == ConnectionType.UART) { var uartHelper = new UARTHelper (port); sensor = uartHelper.GetSensor (); } if (connectionType == ConnectionType.InputResistor) { sensor = new EV3TouchSensor (port); } break; case SensorType.I2CUnknown: break; case SensorType.NXTTemperature: break; case SensorType.LMotor: break; case SensorType.MMotor: break; case SensorType.NXTTest: break; case SensorType.Terminal: break; case SensorType.Test: break; case SensorType.Error: break; case SensorType.None: sensor = new NoSensor (port); break; } if (sensor == null) { sensor = new UnknownSensor(port); } return sensor; }