Ejemplo n.º 1
0
        void Initialize()
        {
            Console.WriteLine("Initialize hardware...");

            Console.WriteLine("Create Spi bus");

            var config = new SpiClockConfiguration(24000, SpiClockConfiguration.Mode.Mode3);
            var spiBus = Device.CreateSpiBus(Device.Pins.SCK, Device.Pins.MOSI, Device.Pins.MISO, config);

            Console.WriteLine("Create display driver instance");

            display = new St7789(device: Device, spiBus: spiBus,
                                 chipSelectPin: Device.Pins.D02,
                                 dcPin: Device.Pins.D01,
                                 resetPin: Device.Pins.D00,
                                 width: 135, height: 240);

            Console.WriteLine("Create graphics lib");

            graphics             = new GraphicsLibrary(display);
            graphics.CurrentFont = new Font12x20();
            graphics.Rotation    = GraphicsLibrary.RotationType._90Degrees;

            Console.WriteLine("Create time of flight sensor");
            var i2cBus = Device.CreateI2cBus(I2cBusSpeed.FastPlus);

            sensor = new Vl53l0x(Device, i2cBus);
            sensor.StartUpdating(200);

            Console.WriteLine("Create servo");
        }
Ejemplo n.º 2
0
        void InitializeWithShutdownPin()
        {
            Console.WriteLine("Initialize hardware...");
            var i2cBus = Device.CreateI2cBus(I2cBusSpeed.FastPlus);

            sensor = new Vl53l0x(Device, i2cBus, Device.Pins.D05);
        }
Ejemplo n.º 3
0
        void Initialize()
        {
            Console.WriteLine("Initialize hardware...");
            var i2cBus = Device.CreateI2cBus(I2cBusSpeed.FastPlus);

            sensor = new Vl53l0x(Device, i2cBus);
        }
Ejemplo n.º 4
0
        void Initialize()
        {
            Console.WriteLine("Initializing hardware...");

            Console.WriteLine("Initialize SPI bus");

            var config = new SpiClockConfiguration(12000, SpiClockConfiguration.Mode.Mode3);
            var spiBus = Device.CreateSpiBus(Device.Pins.SCK, Device.Pins.MOSI, Device.Pins.MISO, config);

            Console.WriteLine("Initialize display driver instance");

            St7789 display = new St7789(device: Device, spiBus: spiBus,
                                        chipSelectPin: null,
                                        dcPin: Device.Pins.D01,
                                        resetPin: Device.Pins.D00,
                                        width: 240, height: 240);

            Console.WriteLine("Create graphics library");

            canvas = new GraphicsLibrary(display)
            {
                CurrentFont = new Font12x20()
            };
            canvas.DrawRectangle(0, 0, 240, 240, Color.Black, true);
            canvas.Clear(true);

            Console.WriteLine("Initialize distance sensor");
            var i2cBus = Device.CreateI2cBus(I2cBusSpeed.FastPlus);

            distanceSensor = new Vl53l0x(Device, i2cBus);
        }
Ejemplo n.º 5
0
        void InitializeWithShutdownPin()
        {
            Console.WriteLine("Initialize hardware...");
            var i2cBus = Device.CreateI2cBus(I2cBusSpeed.FastPlus);
            var pin    = Device.CreateDigitalOutputPort(Device.Pins.D05, true);

            vL53L0X = new Vl53l0x(i2cBus, pin);
            vL53L0X.Initialize();
        }
        /// <summary>
        /// Create a new MarsRover object.
        /// </summary>
        public Rover()
        {
            _redLed   = Device.CreateDigitalOutputPort(Device.Pins.OnboardLedRed);
            _greenLed = Device.CreateDigitalOutputPort(Device.Pins.OnboardLedGreen);

            _driveController     = new DriveController(Device);
            _bluetoothController = new BluetoothController(Device);

            _bluetoothController.Forward.ValueSet += Forward_ValueSet;
            _bluetoothController.Reverse.ValueSet += Reverse_ValueSet;
            _bluetoothController.Left.ValueSet    += Left_ValueSet;
            _bluetoothController.Right.ValueSet   += Right_ValueSet;

            var i2cBus = Device.CreateI2cBus(I2cBusSpeed.FastPlus);

            _distanceSensor = new Vl53l0x(Device, i2cBus);
            _distanceSensor.DistanceUpdated += _distanceSensor_Updated;
            _distanceSensor.StartUpdating(TimeSpan.FromMilliseconds(250));

            EnableDriveSystem();
        }
Ejemplo n.º 7
0
        void Initialize()
        {
            var onboardLed = new RgbPwmLed(
                device: Device,
                redPwmPin: Device.Pins.OnboardLedRed,
                greenPwmPin: Device.Pins.OnboardLedGreen,
                bluePwmPin: Device.Pins.OnboardLedBlue);

            onboardLed.SetColor(Color.Red);

            var config = new SpiClockConfiguration(
                new Frequency(48000, Frequency.UnitType.Kilohertz),
                SpiClockConfiguration.Mode.Mode3);
            var spiBus = Device.CreateSpiBus(
                Device.Pins.SCK,
                Device.Pins.MOSI,
                Device.Pins.MISO, config);
            var display = new St7789(
                device: Device,
                spiBus: spiBus,
                chipSelectPin: Device.Pins.D02,
                dcPin: Device.Pins.D01,
                resetPin: Device.Pins.D00,
                width: 240, height: 240);

            graphics             = new MicroGraphics(display);
            graphics.CurrentFont = new Font12x20();
            graphics.Rotation    = RotationType._270Degrees;

            var i2cBus = Device.CreateI2cBus(I2cBusSpeed.FastPlus);

            sensor = new Vl53l0x(Device, i2cBus);
            sensor.StartUpdating(TimeSpan.FromMilliseconds(200));

            servo = new Servo(Device.CreatePwmPort(Device.Pins.D05), NamedServoConfigs.SG90);
            servo.RotateTo(new Angle(0, AU.Degrees));

            onboardLed.SetColor(Color.Green);
        }
Ejemplo n.º 8
0
        void Initialize()
        {
            var led = new RgbLed(
                Device,
                Device.Pins.OnboardLedRed,
                Device.Pins.OnboardLedGreen,
                Device.Pins.OnboardLedBlue);

            led.SetColor(RgbLed.Colors.Red);

            var config = new SpiClockConfiguration(24000, SpiClockConfiguration.Mode.Mode3);
            var spiBus = Device.CreateSpiBus(
                Device.Pins.SCK,
                Device.Pins.MOSI,
                Device.Pins.MISO, config);

            display = new St7789(device: Device, spiBus: spiBus,
                                 chipSelectPin: Device.Pins.D02,
                                 dcPin: Device.Pins.D01,
                                 resetPin: Device.Pins.D00,
                                 width: 240, height: 240);

            graphics             = new GraphicsLibrary(display);
            graphics.CurrentFont = new Font12x20();
            graphics.Rotation    = GraphicsLibrary.RotationType._270Degrees;

            var i2cBus = Device.CreateI2cBus(I2cBusSpeed.FastPlus);

            sensor = new Vl53l0x(Device, i2cBus);
            sensor.StartUpdating(200);

            servo = new Servo(Device.CreatePwmPort(Device.Pins.D05), NamedServoConfigs.SG90);
            servo.RotateTo(0);

            led.SetColor(RgbLed.Colors.Green);
        }