private async void Setup() { try { rootPage.NotifyUser("Establishing sensor connectivity", NotifyType.StatusMessage); this.mainboard = await GT.Module.CreateAsync <GTMB.FEZCream>(); this.lightSensor = await GT.Module.CreateAsync <GTMO.LightSense>(this.mainboard.GetProvidedSocket(6)); this.tempSensor = await GT.Module.CreateAsync <GTMO.TempHumidSI70>(this.mainboard.GetProvidedSocket(8)); // serial connection via XBee modules arduinoConnection = new UsbSerial("0403", "6001"); //Begin connection arduinoConnection.begin(57600, SerialConfig.SERIAL_8N1); //Attach event handlers arduinoConnection.ConnectionEstablished += ArduinoConnectionEstablished; arduinoConnection.ConnectionFailed += ArduinoConnectionFailed; // instantiate remote device arduino = new RemoteDevice(arduinoConnection); arduino.StringMessageReceived += ArduinoStringMessageReceived; rootPage.NotifyUser("Sensors connected successfully!", NotifyType.StatusMessage); } catch (Exception e) { rootPage.NotifyUser("Error connecting to sensors", NotifyType.ErrorMessage); } }
private async void Setup() { this.mainboard = await GT.Module.CreateAsync <GTMB.FEZCream>(); this.temphumid = await GT.Module.CreateAsync <GTMO.TempHumidSI70>(this.mainboard.GetProvidedSocket(3)); this.gas = await GT.Module.CreateAsync <GTMO.GasSense>(this.mainboard.GetProvidedSocket(6)); this.light = await GT.Module.CreateAsync <GTMO.LightSense>(this.mainboard.GetProvidedSocket(5)); this.relay = await GT.Module.CreateAsync <GTMO.RelayX1>(this.mainboard.GetProvidedSocket(4)); //mqtt if (client == null) { // create client instance MQTT_BROKER_ADDRESS = "gravicodeservices.cloudapp.net"; client = new MqttClient(MQTT_BROKER_ADDRESS); string clientId = Guid.NewGuid().ToString(); client.Connect(clientId, "mifmasterz", "123qweasd"); SubscribeMessage(); } this.timer = new DispatcherTimer(); this.timer.Interval = TimeSpan.FromMilliseconds(2000); this.timer.Tick += this.OnTick; this.timer.Start(); }
private async void Setup() { _mainboard = await GT.Module.CreateAsync <GTMB.FEZCream>(); _extender = await GT.Module.CreateAsync <GTMO.Extender>(_mainboard.GetProvidedSocket(8)); _colorPin0 = await _extender.CreateDigitalIOAsync(GT.SocketPinNumber.Three, false); _colorPin1 = await _extender.CreateDigitalIOAsync(GT.SocketPinNumber.Four, false); _colorPin2 = await _extender.CreateDigitalIOAsync(GT.SocketPinNumber.Five, false); _colorPin3 = await _extender.CreateDigitalIOAsync(GT.SocketPinNumber.Six, false); }
protected async override Task Initialize() { this.gpioMap = FEZCream.CreateGpioMap(); this.analogMap = FEZCream.CreateAnalogMap(); this.pwmMap = FEZCream.CreatePwmMap(); this.analogSharedMap = FEZCream.CreateAnalogSharedMap(); this.pwmSharedMap = FEZCream.CreatePwmSharedMap(); this.analog = new ADS7830(await GNI.I2cDevice.CreateInterfaceAsync("I2C1", new I2cConnectionSettings(ADS7830.GetAddress(false, false)))); this.pwm = new PCA9685(await GNI.I2cDevice.CreateInterfaceAsync("I2C1", new I2cConnectionSettings(PCA9685.GetAddress(true, true, true, true, true, true)))); this.gpios = new PCA9535[2]; this.gpios[0] = new PCA9535(await GNI.I2cDevice.CreateInterfaceAsync("I2C1", new I2cConnectionSettings(PCA9535.GetAddress(true, true, false))), await GNI.DigitalIO.CreateInterfaceAsync(22)); this.gpios[1] = new PCA9535(await GNI.I2cDevice.CreateInterfaceAsync("I2C1", new I2cConnectionSettings(PCA9535.GetAddress(true, false, true))), await GNI.DigitalIO.CreateInterfaceAsync(26)); for (var i = 2; i <= 7; i++) { this.gpios[0].SetDriveMode(i, GpioPinDriveMode.Output); this.gpios[0].Write(i, true); } Socket socket; socket = this.CreateSocket(1); socket.AddSupportedTypes(SocketType.I); socket.SetNativePin(SocketPinNumber.Three, 18); socket.NativeI2cDeviceId = "I2C1"; socket.DigitalIOCreator = this.DigitalIOCreator; socket = this.CreateSocket(2); socket.AddSupportedTypes(SocketType.U); socket.NativeSerialDeviceId = "COM1"; socket.DigitalIOCreator = this.DigitalIOCreator; socket = this.CreateSocket(3); socket.AddSupportedTypes(SocketType.S, SocketType.X); socket.SetNativePin(SocketPinNumber.Three, 24); socket.SetNativePin(SocketPinNumber.Four, 25); socket.SetNativePin(SocketPinNumber.Five, 13); socket.NativeSpiDeviceId = "SPI0"; socket.NativeSpiChipSelectPin = 0; socket = this.CreateSocket(4); socket.AddSupportedTypes(SocketType.Y); socket.SetNativePin(SocketPinNumber.Three, 6); socket.DigitalIOCreator = this.DigitalIOCreator; socket = this.CreateSocket(5); socket.AddSupportedTypes(SocketType.A); socket.SetNativePin(SocketPinNumber.Three, 12); socket.DigitalIOCreator = this.DigitalIOCreator; socket.AnalogIOCreator = this.AnalogIOCreator; socket = this.CreateSocket(6); socket.AddSupportedTypes(SocketType.A); socket.SetNativePin(SocketPinNumber.Three, 16); socket.DigitalIOCreator = this.DigitalIOCreator; socket.AnalogIOCreator = this.AnalogIOCreator; socket = this.CreateSocket(7); socket.AddSupportedTypes(SocketType.P, SocketType.Y); socket.SetNativePin(SocketPinNumber.Three, 5); socket.DigitalIOCreator = this.DigitalIOCreator; socket.PwmOutputCreator = this.PwmOutputCreator; socket = this.CreateSocket(8); socket.AddSupportedTypes(SocketType.P, SocketType.Y); socket.SetNativePin(SocketPinNumber.Three, 27); socket.DigitalIOCreator = this.DigitalIOCreator; socket.PwmOutputCreator = this.PwmOutputCreator; socket = this.CreateSocket(9); socket.AddSupportedTypes(SocketType.I); socket.SetNativePin(SocketPinNumber.Three, 23); socket.NativeI2cDeviceId = "I2C1"; socket.DigitalIOCreator = this.DigitalIOCreator; }
private async void Setup() { this.mainboard = await GT.Module.CreateAsync <GTMB.FEZCream>(); this.motor = await GT.Module.CreateAsync <GTMO.MotorDriverL298>(this.mainboard.GetProvidedSocket(8)); this.breakout = await GT.Module.CreateAsync <GTMO.BreakoutTB10>(this.mainboard.GetProvidedSocket(4)); this.RedLed = await breakout.CreateDigitalIOAsync(GHIElectronics.UWP.GadgeteerCore.SocketPinNumber.Eight, false); this.GreenLed = await breakout.CreateDigitalIOAsync(GHIElectronics.UWP.GadgeteerCore.SocketPinNumber.Nine, false); this.Buzz = await breakout.CreateDigitalIOAsync(GHIElectronics.UWP.GadgeteerCore.SocketPinNumber.Seven, false); this.timer = new DispatcherTimer(); this.timer.Interval = TimeSpan.FromMilliseconds(100); this.timer.Start(); Mobil = new MobilRemote(); this.timer.Tick += (a, b) => { /* * double x, y, z; * * this.hat.GetAcceleration(out x, out y, out z); * * this.LightTextBox.Text = this.hat.GetLightLevel().ToString("P2"); * this.TempTextBox.Text = this.hat.GetTemperature().ToString("N2"); * this.AccelTextBox.Text = $"({x:N2}, {y:N2}, {z:N2})"; * this.Button18TextBox.Text = this.hat.IsDIO18Pressed().ToString(); * this.Button22TextBox.Text = this.hat.IsDIO22Pressed().ToString(); * this.AnalogTextBox.Text = this.hat.ReadAnalog(GIS.FEZHAT.AnalogPin.Ain1).ToString("N2"); */ if (isNavigating) { return; } isNavigating = true; //this.hat.D2.Color = GIS.FEZHAT.Color.Black; //this.hat.D3.Color = GIS.FEZHAT.Color.Black; switch (Mobil.Arah) { case MobilRemote.ArahJalan.Maju: this.motor.SetSpeed(GHIElectronics.UWP.Gadgeteer.Modules.MotorDriverL298.Motor.Motor1, 1.0); this.motor.SetSpeed(GHIElectronics.UWP.Gadgeteer.Modules.MotorDriverL298.Motor.Motor2, 1.0); GreenLed.Write(true); RedLed.Write(false); Buzz.Write(false); break; case MobilRemote.ArahJalan.Mundur: this.motor.SetSpeed(GHIElectronics.UWP.Gadgeteer.Modules.MotorDriverL298.Motor.Motor1, -1.0); this.motor.SetSpeed(GHIElectronics.UWP.Gadgeteer.Modules.MotorDriverL298.Motor.Motor2, -1.0); GreenLed.Write(false); RedLed.Write(true); Buzz.Write(false); break; case MobilRemote.ArahJalan.Kiri: this.motor.SetSpeed(GHIElectronics.UWP.Gadgeteer.Modules.MotorDriverL298.Motor.Motor1, -0.7); this.motor.SetSpeed(GHIElectronics.UWP.Gadgeteer.Modules.MotorDriverL298.Motor.Motor2, 0.7); GreenLed.Write(false); RedLed.Write(false); Buzz.Write(false); break; case MobilRemote.ArahJalan.Kanan: this.motor.SetSpeed(GHIElectronics.UWP.Gadgeteer.Modules.MotorDriverL298.Motor.Motor1, 0.7); this.motor.SetSpeed(GHIElectronics.UWP.Gadgeteer.Modules.MotorDriverL298.Motor.Motor2, -0.7); GreenLed.Write(false); RedLed.Write(false); Buzz.Write(false); break; case MobilRemote.ArahJalan.Stop: this.motor.SetSpeed(GHIElectronics.UWP.Gadgeteer.Modules.MotorDriverL298.Motor.Motor1, 0.0); this.motor.SetSpeed(GHIElectronics.UWP.Gadgeteer.Modules.MotorDriverL298.Motor.Motor2, 0.0); GreenLed.Write(false); RedLed.Write(false); Buzz.Write(false); break; } isNavigating = false; }; timer.Start(); client = new MqttClient(MQTT_BROKER_ADDRESS); string clientId = Guid.NewGuid().ToString(); client.Connect(clientId); SubscribeMessage(); }