public static void Main(string[] args) { ManualResetEvent terminateProgram = new ManualResetEvent(false); var lightSensor = new NXTLightSensor(SensorPort.In1); ButtonEvents buts = new ButtonEvents(); LcdConsole.WriteLine("Use light on port1"); LcdConsole.WriteLine("Up value "); LcdConsole.WriteLine("Down change mode"); LcdConsole.WriteLine("Esc. terminate"); buts.EscapePressed += () => { terminateProgram.Set(); }; buts.UpPressed += () => { LcdConsole.WriteLine("Sensor value:" + lightSensor.ReadAsString()); }; buts.DownPressed += () => { if (lightSensor.Mode == LightMode.Ambient) { lightSensor.Mode = LightMode.Relection; } else { lightSensor.Mode = LightMode.Ambient; } LcdConsole.WriteLine("Sensor mode is now: " + lightSensor.Mode); }; terminateProgram.WaitOne(); }
private void configure_sensors() { light1 = new NXTLightSensor(); light2 = new NXTLightSensor(); light4 = new NXTLightSensor(); brick.Sensor1 = light1; brick.Sensor2 = light2; brick.Sensor4 = light4; }
private void btnConnect_Click(object sender, EventArgs e) { String comPort = "COM" + txtCOM.Text; try { // if brick is already connected then disconnect it if (brick != null && brick.Connection.IsConnected) { MessageBox.Show("Robot is already connected", "Connect error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } // create brick object and connect it to robot brick = new Brick <Sensor, Sensor, Sensor, Sensor>(comPort); brick.Connection.Open(); // light/colour sensor declaration and connect in port 3 sensorLight = new NXTLightSensor(); brick.Sensor3 = sensorLight; // distance sensor declaration and connect in port 4 sensorDistance = new Sonar(); brick.Sensor4 = sensorDistance; // update form with brick details lblConnectStatus.Text = "Connected to NXT Robot " + brick.GetBrickName(); // Set ports for synchronised motor vehicle brick.Vehicle.LeftPort = MotorPort.OutC; brick.Vehicle.RightPort = MotorPort.OutA; // Update form buttons btnConnect.Enabled = false; btnDisconnect.Enabled = true; enableSensors(true); } catch { MessageBox.Show("Error connecting to robot on " + comPort, "Connect error", MessageBoxButtons.OK, MessageBoxIcon.Error); // call disconnect in case robot has already connected when error occured disconnect(); } }
private async Task TestNXTLight() { //NXTTouchSensor touch = new NXTTouchSensor(BrickPortSensor.PORT_S2); //EV3TouchSensor ev3Touch = new EV3TouchSensor(BrickPortSensor.PORT_S1); //NXTSoundSensor sound = new NXTSoundSensor(BrickPortSensor.PORT_S4); NXTLightSensor nxtlight = new NXTLightSensor(brick, BrickPortSensor.PORT_S4); int count = 0; while (count < 100) { //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())); Debug.WriteLine(string.Format("Color: {0}, ", nxtlight.ReadRaw())); await Task.Delay(300); //if ((touch.IsPressed()) && ev3Touch.IsPressed()) count++; } count = 0; nxtlight.SelectNextMode(); while (count < 100) { //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())); Debug.WriteLine(string.Format("Color: {0}, ", nxtlight.ReadRaw())); await Task.Delay(300); //if ((touch.IsPressed()) && ev3Touch.IsPressed()) count++; } }
private String select_sensor_and_command_for_line(int line) { monitored_sensor = light1; if (line == 0) { monitored_sensor = light4; return("A"); } if (line == 1) { return("C"); } if (line == 2) { return("D"); } if (line == 3) { monitored_sensor = light4; return("B"); } return("*"); }
private static void TestNXTLight() { Console.WriteLine("Run NXT Light sensor test on port 4. Uses all the modes and read 100 times."); NXTLightSensor nxtlight = new NXTLightSensor(_brick, SensorPort.Port4); int count = 0; while (count < 100) { Console.WriteLine($"NXT Color Sensor, Raw: {nxtlight.ReadRaw()}, ReadASString: {nxtlight.ReadAsString()}, NumberNodes: {nxtlight.NumberOfModes()}, SensorName: {nxtlight.GetSensorName()}"); Console.WriteLine($"Color: {nxtlight.ReadRaw()}"); Thread.Sleep(300); count++; } count = 0; nxtlight.SelectNextMode(); while (count < 100) { Console.WriteLine($"NXT Color Sensor, Raw: {nxtlight.ReadRaw()}, ReadASString: {nxtlight.ReadAsString()}, NumberNodes: {nxtlight.NumberOfModes()}, SensorName: {nxtlight.GetSensorName()}"); Console.WriteLine($"Color: {nxtlight.ReadRaw()}"); Thread.Sleep(300); count++; } }