Exemple #1
0
		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 ();  
		}
Exemple #2
0
        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);
		}
Exemple #4
0
        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);
        }
Exemple #5
0
 /// <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;
		}