Exemple #1
0

        
Exemple #2
0
        void UltrasonicSensor_OnChange(object sender, SensorEventArgs <int> e)
        {
            ultrasonicProgressBar.Value = e.SensorVal;
            Debug.WriteLine("New ultrasound distance value: approx " + e.SensorVal + " cm");

            if (checkBoxCollision.Checked &&
                scorpio.MotorLeft.IsRunning && scorpio.MotorRight.IsRunning &&
                e.SensorVal < COLLISION_DIST && previousUltrasonicValue < COLLISION_DIST)
            {
                // TODOnow! Create complex behavior to handle random turn+walk away, smooth distance changes out (moving average filter http://en.wikipedia.org/wiki/Moving_average)
                // for now, just walk back
                checkBoxRightReverse.Checked = checkBoxLeftReverse.Checked = true;

                previousUltrasonicValue = int.MaxValue;
            }
            else if (previousUltrasonicValue == int.MaxValue)
            {
                if (e.SensorVal > COLLISION_DIST)
                {
                    previousUltrasonicValue = e.SensorVal;
                }
            }
            else
            {
                previousUltrasonicValue = e.SensorVal;
            }
            Debug.WriteLine("previous ultrasonic value: " + previousUltrasonicValue);
        }
Exemple #3
0
 private void Touch_OnPressed(object sender, SensorEventArgs e)
 {
     motorA.Velocity = -50;
     motorA.Enabled  = true;
     motorB.Velocity = 100;
     motorB.Enabled  = true;
     motorD.Velocity = -100;
     motorD.Enabled  = true;
 }
        /// <summary>
        /// Generic event handler for sensor.ValueChanged.
        /// Here we build the new packet with some informations: priority and source topic
        /// then we put the packet into a buffer.
        /// </summary>
        /// <param name="sender">The sensor that originated the event</param>
        /// <param name="e"></param>
        private static void Generic_ValueChanged(object sender, SensorEventArgs e)
        {
            var    sensor = ((ISensor)sender);
            string json   = sensor.ToJson();
            string topic  = $"cars/AG673WK/sensors/{ sensor.Type }/{ sensor.Id}";

            Console.WriteLine($"GEN  {topic} > |{json}|");
            buffer.Push(1, DateTime.Now, sensor.ToJson()).Topic = topic;
        }
Exemple #5
0
 private void Touch_OnReleased(object sender, SensorEventArgs e)
 {
     //motorA.Velocity = 0;
     //motorB.Velocity = 0;
     //motorD.Velocity = 0;
     motorA.Enabled = false;
     motorB.Enabled = false;
     motorD.Enabled = false;
 }
 private void Model_SensorDataReceived(object sender, SensorEventArgs e)
 {
     AccelX = e.X;
     AccelY = e.Y;
     AccelZ = e.Z;
     TempC  = e.tempC;
     TempF  = e.tempF;
     Light  = e.light;
     Sound  = e.sound;
 }
Exemple #7
0
        void LightSensor_OnChange(object sender, SensorEventArgs <ushort> e)
        {
            lightProgressBar.Value = e.SensorVal;
            //Debug.WriteLine("New light level value: " + e.SensorVal);

            if (e.SensorVal < MIN_LIGHT_LEVEL && checkBoxLight.Checked)
            {
                button1_Click(sender, e);
                MessageBox.Show("Good night!");
            }
        }
Exemple #8
0
        void TouchSensor_OnChange(object sender, SensorEventArgs <bool> e)
        {
            touchCheckBox.Checked = e.SensorVal;
            //Debug.WriteLine("New touch sensor value: pressed=" + e.SensorVal);

            if (checkBoxTouch.Checked && e.SensorVal)
            {
                // Stop all possible motors
                checkBoxLeftMotor.Checked         =
                    checkBoxRightMotor.Checked    =
                        checkBoxTailMotor.Checked =
                            checkBoxWalk.Checked  = false;
            }
        }
Exemple #9
0
        private static void Generic_ValueChanged <Tin, Tout>(object sender, SensorEventArgs <Tin, Tout> e)
        {
            var sensor = (GenericSensor <Tin, Tout>)sender;

            try {
                var         json       = sensor.ToJson();
                ICommDriver CommDriver = new MqttCommDriver();
                CommDriver.Send(json, "cars/AG673WK/sensors/" + sensor.Name + "/" + sensor.Id);
            }
            catch
            {
                Console.WriteLine("Errore nela generazione del json");
            }
        }
        private void NewValue(object o)
        {
            int period = rnd.Next(0, 10);
            int value  = rnd.Next(30);
            var args   = new SensorEventArgs
            {
                SensorIndex = this.Index,
                SensorValue = value
            };

            Console.WriteLine();
            Console.WriteLine("Sensor{0} at port {1} new value : {2}", this.Index, this.Port, value);

            this.Event?.Invoke(this, value);

            timer.Change(period * 1000, period * 1000);
        }
Exemple #11
0
 private static void Generic_ValueChanged(object sender, SensorEventArgs e)
 {
     try
     {
         var sensor = ((ISensor)sender);
         var json   = sensor.ToJson();
         Console.WriteLine($"id: {Util.iUID.NewId()}");
         Console.WriteLine($"cars/AG673WK/sensors/{ sensor.Type }/{ sensor.Id} > |{json}|");
         //ICommDriver CommDriver = new HttpCommDriver();
         //ICommDriver CommDriver = new MqttCommDriver();
         //CommDriver.Send(json, "cars/AG673WK/sensors/" + sensor.Name + "/" + sensor.Id);
     }
     catch
     {
         Console.WriteLine("Errore nella generazione del json");
     }
 }
Exemple #12
0
        private void Touch_OnChanged(object sender, SensorEventArgs e)
        {
            //            ledPin.Write(touch.IsPressed() ? GpioPinValue.High : GpioPinValue.Low);
            Debug.WriteLine(string.Format("NXT US, Distance: {0}, ", ultrasonic.Distance));
#if COLOR
            Debug.WriteLine(string.Format("NXT Color: {0}, RGB: {1}", color.ColorName, color.ColorData.ToString()));
#else
            Debug.WriteLine(string.Format("NXT Color, Raw: {0}, RGB: {1}", color.RawValue, color.ColorData.ToString()));
#endif
            if ((e as TouchSensorEventArgs).Pressed)
            {
                Debug.WriteLine("Motor A Encoder: {0} Motor B Encoder: {1} Motor D Encoder: {2}", motorA.Encoder, motorB.Encoder, motorD.Encoder);
                brick.Arduino2Led.Light = true;
                brick.Arduino1Led.Toggle();
                //motorA.EncoderOffset = motorA.Encoder;
            }
            else
            {
                brick.Arduino2Led.Light = false;
            }
        }
        void _accelerometer_ReadingChanged(Accelerometer sender, AccelerometerReadingChangedEventArgs args)
        {
            try
            {
                AccelerometerReading reading = args.Reading;

                if (reading != null)
                {
                    SensorEventArgs sensorArgs = new SensorEventArgs(reading.AccelerationX);

                    if (SensorReadingChanged != null)
                    {
                        SensorReadingChanged(sender, sensorArgs);
                    }
                }
            }
            catch (Exception ex)
            {
                _accelerometerEnabled = false;
            }

            _accelerometerChecked = true;
        }
        // the values in the sensorArgs are currently not used by the FormulaEditorViewModel,
        // because the FormulaEvaluator uses the Get-Functions to get the current readings
        void _compass_ReadingChanged(Compass sender, CompassReadingChangedEventArgs args)
        {
            try
            {
                CompassReading reading = args.Reading;

                if (reading != null)
                {
                    SensorEventArgs sensorArgs = new SensorEventArgs(reading.HeadingMagneticNorth);

                    if (SensorReadingChanged != null)
                    {
                        SensorReadingChanged(sender, sensorArgs);
                    }
                }
            }
            catch (Exception)
            {
                _compassEnabled = false;
            }

            _compassChecked = true;
        }
        void _inclinometer_ReadingChanged(Inclinometer sender, InclinometerReadingChangedEventArgs args)
        {
            try
            {
                InclinometerReading reading = args.Reading;

                if (reading != null)
                {
                    SensorEventArgs sensorArgs = new SensorEventArgs(reading.RollDegrees);

                    if (SensorReadingChanged != null)
                    {
                        SensorReadingChanged(sender, sensorArgs);
                    }
                }
            }
            catch (Exception)
            {
                _inclinometerEnabled = false;
            }

            _inclinometerChecked = true;
        }
        void LightSensor_OnChange(object sender, SensorEventArgs<ushort> e)
        {
            lightProgressBar.Value = e.SensorVal;
            //Debug.WriteLine("New light level value: " + e.SensorVal);

            if (e.SensorVal < MIN_LIGHT_LEVEL && checkBoxLight.Checked)
            {
                button1_Click(sender, e);
                MessageBox.Show("Good night!");
            }
        }
 private static void Pir_SensorNotification(object sender, SensorEventArgs e)
 {
 }
 private static void EventThrownBad(object source, SensorEventArgs e)
 {
     Assert.Fail("Car was detected!");
 }
Exemple #19
0
 void SoundRatioSensor_OnChange(object sender, SensorEventArgs <double> e)
 {
     soundRatioProgressBar.Value = (int)(e.SensorVal * 100.0);
     //Debug.WriteLine("New sound level value: " + e.SensorVal);
 }
Exemple #20
0
 void SoundLevelSensor_OnChange(object sender, SensorEventArgs <ushort> e)
 {
     soundLevelProgressBar.Value = e.SensorVal;
     //Debug.WriteLine("New sound level value: " + e.SensorVal);
 }
 /// <summary>
 /// Callback for new sensor detail
 /// </summary>
 /// <param name="sender">Sender</param>
 /// <param name="e">Sensor event args</param>
 public void onNewSensor(object sender, SensorEventArgs e)
 {
     addSensorDetail(e.Address, e.Detail);
 }
 private static void EventThrownGood(object source, SensorEventArgs e)
 {
     Assert.Pass();
 }
 void SoundRatioSensor_OnChange(object sender, SensorEventArgs<double> e)
 {
     soundRatioProgressBar.Value = (int)(e.SensorVal * 100.0);
     //Debug.WriteLine("New sound level value: " + e.SensorVal);
 }
        void TouchSensor_OnChange(object sender, SensorEventArgs<bool> e)
        {
            touchCheckBox.Checked = e.SensorVal;
            //Debug.WriteLine("New touch sensor value: pressed=" + e.SensorVal);

            if (checkBoxTouch.Checked && e.SensorVal)
            {
                // Stop all possible motors
                checkBoxLeftMotor.Checked =
                    checkBoxRightMotor.Checked =
                    checkBoxTailMotor.Checked =
                    checkBoxWalk.Checked = false;
            }
        }
        void UltrasonicSensor_OnChange(object sender, SensorEventArgs<int> e)
        {
            ultrasonicProgressBar.Value = e.SensorVal;
            Debug.WriteLine("New ultrasound distance value: approx " + e.SensorVal + " cm");

            if (checkBoxCollision.Checked
                && scorpio.MotorLeft.IsRunning && scorpio.MotorRight.IsRunning
                && e.SensorVal < COLLISION_DIST && previousUltrasonicValue < COLLISION_DIST)
            {
                // TODOnow! Create complex behavior to handle random turn+walk away, smooth distance changes out (moving average filter http://en.wikipedia.org/wiki/Moving_average)
                // for now, just walk back
                checkBoxRightReverse.Checked = checkBoxLeftReverse.Checked = true;

                previousUltrasonicValue = int.MaxValue;
            }
            else if (previousUltrasonicValue == int.MaxValue)
            {
                if (e.SensorVal > COLLISION_DIST)
                    previousUltrasonicValue = e.SensorVal;
            }
            else
                previousUltrasonicValue = e.SensorVal;
            Debug.WriteLine("previous ultrasonic value: " + previousUltrasonicValue);
        }
 void SoundLevelSensor_OnChange(object sender, SensorEventArgs<ushort> e)
 {
     soundLevelProgressBar.Value = e.SensorVal;
     //Debug.WriteLine("New sound level value: " + e.SensorVal);
 }
Exemple #27
0
 protected virtual void OnChangedEventHandler(SensorEventArgs eventArgs)
 {
     OnChanged?.Invoke(this, eventArgs ?? new SensorEventArgs());
 }