public RobotSenses(NxtBrick nxtBrick, NameValueCollection config)
        {
            _nxtBrick = nxtBrick;
            _thresholdDistanceCm = byte.Parse(config["ThresholdDistanceCm"]);
            var distanceSensor = new NxtUltrasonicSensor
                                     {
                                         PollInterval = Int32.Parse(config["DistanceSensorPollingInterval"])
                                     };

            distanceSensor.OnPolled += distanceSensor_OnPolled;
            _nxtBrick.Sensor4 = distanceSensor;
        }
示例#2
0
文件: Program.cs 项目: kchikuse/lego
        static void Main()
        {
            Init();
            
            brick = new NxtBrick(NxtCommLinkType.USB, 0);
            //brick = new NxtBrick(NxtCommLinkType.Bluetooth, 40);

            var sound = new NxtSoundSensor();
            var touch = new NxtTouchSensor();
            var sonar = new NxtUltrasonicSensor();

            brick.MotorA = new NxtMotor();
            brick.MotorC = new NxtMotor();
            motorPair = new NxtMotorSync(brick.MotorA, brick.MotorC);

            brick.Sensor1 = sonar;
            brick.Sensor3 = touch;
            brick.Sensor4 = sound;

            sound.PollInterval = 50;
            sound.OnPolled += sound_OnPolled;

            sonar.PollInterval = 50;
            sonar.ThresholdDistanceCm = 25;
            sonar.OnPolled += sonar_OnPolled;
            sonar.OnWithinThresholdDistanceCm += OnWithinThreshold; 
            sonar.ContinuousMeasurementCommand();

            touch.PollInterval = 50;
            touch.OnPressed += OnCollision;

            brick.Connect();

            motorPair.Run(75, 0, 0); 

            Console.WriteLine("Press any key to stop.");
            Console.ReadKey();

            brick.Disconnect();
        }