Example #1
0
        private async Task TestMultipleSensorsTouchCSSoud()
        {
            NXTTouchSensor touch    = new NXTTouchSensor(brick, BrickPortSensor.PORT_S2);
            EV3TouchSensor ev3Touch = new EV3TouchSensor(brick, BrickPortSensor.PORT_S1, 20);
            NXTSoundSensor sound    = new NXTSoundSensor(brick, BrickPortSensor.PORT_S4);
            NXTColorSensor nxtlight = new NXTColorSensor(brick, BrickPortSensor.PORT_S3);
            RGBColor       rgb;
            bool           bwait = true;

            while (bwait)
            {
                Debug.WriteLine(string.Format("NXT Touch, Raw: {0}, ReadASString: {1}, IsPressed: {2}, NumberNodes: {3}, SensorName: {4}", touch.ReadRaw(), touch.ReadAsString(), touch.IsPressed(), touch.NumberOfModes(), touch.GetSensorName()));
                Debug.WriteLine(string.Format("EV3 Touch, Raw: {0}, ReadASString: {1}, IsPressed: {2}, NumberNodes: {3}, SensorName: {4}", ev3Touch.ReadRaw(), ev3Touch.ReadAsString(), ev3Touch.IsPressed(), ev3Touch.NumberOfModes(), ev3Touch.GetSensorName()));
                Debug.WriteLine(string.Format("NXT Sound, Raw: {0}, ReadASString: {1}, NumberNodes: {2}, SensorName: {3}", sound.ReadRaw(), sound.ReadAsString(), sound.NumberOfModes(), sound.GetSensorName()));
                Debug.WriteLine(string.Format("NXT Color Sensor, Raw: {0}, ReadASString: {1}, NumberNodes: {2}, SensorName: {3}",
                                              nxtlight.ReadRaw(), nxtlight.ReadAsString(), nxtlight.NumberOfModes(), nxtlight.GetSensorName()));
                rgb = nxtlight.ReadRGBColor();
                Debug.WriteLine(string.Format("Color: {0}, Red: {1}, Green: {2}, Blue: {3}",
                                              nxtlight.ReadColor(), rgb.Red, rgb.Green, rgb.Blue));
                //                Debug.WriteLine(string.Format("raw {0}", nxtlight.ReadTest()));
                await Task.Delay(300);

                if ((touch.IsPressed()) && ev3Touch.IsPressed())
                {
                    bwait = false;
                }
            }
        }
Example #2
0
        public async void Run(IBackgroundTaskInstance taskInstance)
        {
            deferal = taskInstance.GetDeferral();
            brick   = await Brick.InitializeInstance("Uart0");

            InitGpio(brick);
            brick.Arduino1Led.Toggle();
            if (!await brick.InitializeSensors())
            {
                Debug.WriteLine("Something went wrong initializing sensors");
            }
            int version = await brick.GetBrickVersion();

            Debug.WriteLine(string.Format("Brick Version: {0}", version));
            bool timeoutSuccess = await brick.SetTimeout(200);

            Debug.WriteLine(string.Format("Setting timeout succesfully: {0}", timeoutSuccess));
            touch             = new NXTTouchSensor(SensorPort.Port_S1, SensorType.TOUCH_DEBOUNCE);
            touch.OnPressed  += Touch_OnPressed;
            touch.OnReleased += Touch_OnReleased;
            touch.OnChanged  += Touch_OnChanged;
            await brick.Sensors.Add(touch, true);

            ultrasonic           = new NXTUltraSonicSensor(SensorPort.Port_S2, SensorType.ULTRASONIC_CONT);
            ultrasonic.Threshold = 5;
            await brick.Sensors.Add(ultrasonic, true);

#if COLOR
            color = new NXTColorSensor(SensorPort.Port_S4, SensorType.COLOR_FULL);
            await brick.Sensors.Add(color, true);

            color = new NXTColorSensor(SensorPort.Port_S3, SensorType.COLOR_FULL);
            await brick.Sensors.Add(color, true);
#else
            color = new NXTColorSensor(SensorPort.Port_S3, SensorType.COLOR_RED);
            await brick.Sensors.Add(color, true);
#endif
            //            color.PropertyChanged += Color_PropertyChanged;
            if (!await brick.InitializeSensors())
            {
                Debug.WriteLine("Something went wrong initializing sensors");
            }

            brick.Start();

            //while (true)
            //{
            //    await brick.UpdateValues();
            //    await Task.Delay(1000);
            //}

            //motorA.SetTachoCount(motorA.GetTachoCount());
            //await brick.Stop();
            await Task.Delay(5000);

            //brick.Start();
        }
Example #3
0
        private static void TestNXTCS()
        {
            Console.WriteLine("Run NXT Color sensor test on port 4. Press the EV3 touch sensor on port 1 to stop the test.");
            NXTColorSensor nxtlight = new NXTColorSensor(_brick, SensorPort.Port4);
            EV3TouchSensor touch    = new EV3TouchSensor(_brick, SensorPort.Port1);
            RGBColor       rgb;

            while (!touch.IsPressed())
            {
                Console.WriteLine($"NXT Color Sensor, Raw: {nxtlight.ReadRaw()}, ReadASString: {nxtlight.ReadAsString()}, NumberNodes: {nxtlight.SelectedMode()}");
                rgb = nxtlight.ReadRGBColor();
                Console.WriteLine($"Color: {nxtlight.ReadColor()}, Red: {rgb.Red}, Green: {rgb.Green}, Blue: {rgb.Blue}");
                Thread.Sleep(300);
            }
        }
Example #4
0
        private async Task TestNXTCS()
        {
            NXTColorSensor nxtlight = new NXTColorSensor(brick, BrickPortSensor.PORT_S4);
            RGBColor       rgb;
            bool           bwait = true;

            while (bwait)
            {
                Debug.WriteLine(string.Format("NXT Color Sensor, Raw: {0}, ReadASString: {1}, NumberNodes: {2}",
                                              nxtlight.ReadRaw(), nxtlight.ReadAsString(), nxtlight.SelectedMode()));
                rgb = nxtlight.ReadRGBColor();
                Debug.WriteLine(string.Format("Color: {0}, Red: {1}, Green: {2}, Blue: {3}",
                                              nxtlight.ReadColor(), rgb.Red, rgb.Green, rgb.Blue));
                //                Debug.WriteLine(string.Format("raw {0}", nxtlight.ReadTest()));
                await Task.Delay(300);
            }
        }
Example #5
0
        private static void TestMultipleSensorsTouchCSSoud()
        {
            NXTTouchSensor touch    = new NXTTouchSensor(_brick, SensorPort.Port2);
            EV3TouchSensor ev3Touch = new EV3TouchSensor(_brick, SensorPort.Port1, 20);
            NXTSoundSensor sound    = new NXTSoundSensor(_brick, SensorPort.Port4);
            NXTColorSensor nxtlight = new NXTColorSensor(_brick, SensorPort.Port3);
            RGBColor       rgb;

            while (!((touch.IsPressed()) && ev3Touch.IsPressed()))
            {
                Console.WriteLine($"NXT Touch, Raw: {touch.ReadRaw()}, ReadASString: {touch.ReadAsString()}, IsPressed: {touch.IsPressed()}, NumberNodes: {touch.NumberOfModes()}, SensorName: {touch.GetSensorName()}");
                Console.WriteLine($"EV3 Touch, Raw: {ev3Touch.ReadRaw()}, ReadASString: {ev3Touch.ReadAsString()}, IsPressed: {ev3Touch.IsPressed()}, NumberNodes: {ev3Touch.NumberOfModes()}, SensorName: {ev3Touch.GetSensorName()}");
                Console.WriteLine($"NXT Sound, Raw: {sound.ReadRaw()}, ReadASString: {sound.ReadAsString()}, NumberNodes: {sound.NumberOfModes()}, SensorName: {sound.GetSensorName()}");
                Console.WriteLine($"NXT Color Sensor, Raw: {nxtlight.ReadRaw()}, ReadASString: {nxtlight.ReadAsString()}, NumberNodes: {nxtlight.NumberOfModes()}, SensorName: {nxtlight.GetSensorName()}");
                rgb = nxtlight.ReadRGBColor();
                Console.WriteLine($"Color: {nxtlight.ReadColor()}, Red: {rgb.Red}, Green: {rgb.Green}, Blue: {rgb.Blue}");
                Thread.Sleep(300);
            }
        }