Beispiel #1
0
        public override async Task Start()
        {
            switch (SelectedAccelerometer)
            {
            case "MPU-9250":
                Sensor = (await Mpu6050.ProbeAsync(Board.I2c, true))[0];
                break;

            case "ADXL-345":
                Sensor = (await Adxl345.ProbeAsync(Board.I2c))[0];
                break;

            case "LIS3DH":
                Sensor = (await Lis3dh.ProbeAsync(Board.I2c))[0];
                break;

            case "BNO055":
                Sensor = (await Bno055.ProbeAsync(Board.I2c))[0];
                break;

            case "LSM303DLHC":
                var lsm303dlhc = new Lsm303dlhc(Board.I2c);
                Sensor = lsm303dlhc.Accel;
                break;
            }

            Sensor.AutoUpdateWhenPropertyRead = false;
            OnPropertyChanged(nameof(Sensor));
        }
Beispiel #2
0
        public void InitHardware()
        {
            Console.WriteLine("Creating output ports...");

            //poling
            sensor = new Adxl345(Device.CreateI2cBus(), 83, 0);

            sensor.SetPowerState(false, false, true, false, Adxl345.Frequency.EightHz);

            while (true)
            {
                sensor.Update();

                Console.WriteLine($"{sensor.X}, {sensor.Y}, {sensor.Z}");

                Thread.Sleep(500);
            }

            //event

            /*sensor = new Adxl345(Device.CreateI2cBus(), 83);
             *
             * sensor.SetPowerState(false, false, true, false, Adxl345.Frequency.EightHz);
             *
             * sensor.AccelerationChanged += Sensor_AccelerationChanged;
             */
        }
Beispiel #3
0
        public void InitHardware()
        {
            Console.WriteLine("Creating output ports...");

            //polling
            sensor = new Adxl345(Device.CreateI2cBus(), 83);

            sensor.SetPowerState(false, false, true, false, Adxl345.Frequency.EightHz);

            sensor.Updated += Sensor_Updated;

            sensor.StartUpdating(1000);
        }
Beispiel #4
0
        private void Run()
        {
            var accel = new Adxl345 {
                MeasurementRange = Adxl345.Range.FourG
            };

            _peach = new Peach();
            _peach.Button.ButtonPressed += Button_ButtonPressed;;

            _accelerometer = new Adxl345 {
                MeasurementRange = Adxl345.Range.FourG
            };
            _accelerometer.MeasurementComplete += _accelerometer_MeasurementComplete;
            _accelerometer.Interval             = 1000;

            _testTimer = new Timer(PollingMeasure, null, new TimeSpan(0, 0, 1), new TimeSpan(0, 0, 1));

            while (true)
            {
            }
        }
Beispiel #5
0
 private void _accelerometer_MeasurementComplete(Adxl345 sender, Adxl345.MeasurementCompleteEventArgs e)
 {
     Debug.Print("Event : x = " + e.X.ToString() + ", y = " + e.Y.ToString() + ", z = " + e.Z.ToString());
 }