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(); }
//TODO build test for EV3 Ultra Sound private async Task TestNXTUS() { NXTUltraSonicSensor ultra = new NXTUltraSonicSensor(BrickPortSensor.PORT_S4); for (int i = 0; i < ultra.NumberOfModes(); i++) { int count = 0; while (count < 100) { Debug.WriteLine(string.Format("NXT US, Distance: {0}, ReadAsString: {1}, Selected mode: {2}", ultra.ReadDistance(), ultra.ReadAsString(), ultra.SelectedMode())); await Task.Delay(300); } ultra.SelectNextMode(); } }
private static void TestNXTUS() { Console.WriteLine("Running NXT Ultrasonic sensor test on port 4. Uses all the modes and read 50 times."); NXTUltraSonicSensor ultra = new NXTUltraSonicSensor(_brick, SensorPort.Port4); for (int i = 0; i < ultra.NumberOfModes(); i++) { int count = 0; while (count < 50) { Console.WriteLine($"NXT Ultrasound, Distance: {ultra.ReadDistance()}, ReadAsString: {ultra.ReadAsString()}, Selected mode: {ultra.SelectedMode()}"); Thread.Sleep(2000); count++; } ultra.SelectNextMode(); } }
private async Task LunchFollowMe() { EV3TouchSensor touch = new EV3TouchSensor(BrickPortSensor.PORT_S1); NXTUltraSonicSensor ultra = new NXTUltraSonicSensor(BrickPortSensor.PORT_S3, UltraSonicMode.Centimeter); robot = new Vehicule(BrickPortMotor.PORT_B, BrickPortMotor.PORT_C); while (!touch.IsPressed()) { int valultra = ultra.Value; if ((valultra < 70) && (valultra != 0)) { Debug.WriteLine($"Taking picture, distance {valultra} cm"); await MakePicture(); } await Task.Delay(10); } Debug.Write("end of face tracking and detection"); }