Exemplo n.º 1
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);

            IDigitalOutputPort[] ports =
            {
                Device.CreateDigitalOutputPort(Device.Pins.D05),
                Device.CreateDigitalOutputPort(Device.Pins.D06),
                Device.CreateDigitalOutputPort(Device.Pins.D07),
                Device.CreateDigitalOutputPort(Device.Pins.D08),
                Device.CreateDigitalOutputPort(Device.Pins.D09),
                Device.CreateDigitalOutputPort(Device.Pins.D10),
                Device.CreateDigitalOutputPort(Device.Pins.D11),
                Device.CreateDigitalOutputPort(Device.Pins.D12),
                Device.CreateDigitalOutputPort(Device.Pins.D13),
                Device.CreateDigitalOutputPort(Device.Pins.D14)
            };

            ledBarGraph = new LedBarGraph(ports);
            capacitive  = new Capacitive
                          (
                Device.CreateAnalogInputPort(Device.Pins.A00),
                MINIMUM_VOLTAGE_CALIBRATION,
                MAXIMUM_VOLTAGE_CALIBRATION
                          );

            onboardLed.SetColor(Color.Green);
        }
Exemplo n.º 2
0
        public MeadowApp()
        {
            var led = new RgbLed(Device, Device.Pins.OnboardLedRed, Device.Pins.OnboardLedGreen, Device.Pins.OnboardLedBlue);

            led.SetColor(RgbLed.Colors.Red);

            IDigitalOutputPort[] ports =
            {
                Device.CreateDigitalOutputPort(Device.Pins.D05),
                Device.CreateDigitalOutputPort(Device.Pins.D06),
                Device.CreateDigitalOutputPort(Device.Pins.D07),
                Device.CreateDigitalOutputPort(Device.Pins.D08),
                Device.CreateDigitalOutputPort(Device.Pins.D09),
                Device.CreateDigitalOutputPort(Device.Pins.D10),
                Device.CreateDigitalOutputPort(Device.Pins.D11),
                Device.CreateDigitalOutputPort(Device.Pins.D12),
                Device.CreateDigitalOutputPort(Device.Pins.D13),
                Device.CreateDigitalOutputPort(Device.Pins.D14)
            };

            ledBarGraph = new LedBarGraph(ports);
            capacitive  = new Capacitive
                          (
                Device.CreateAnalogInputPort(Device.Pins.A00),
                MINIMUM_VOLTAGE_CALIBRATION,
                MAXIMUM_VOLTAGE_CALIBRATION
                          );

            led.SetColor(RgbLed.Colors.Green);

            StartReading();
        }
        public void Show_Capacitive()
        {
            //Arrange
            FakeOutputShow fakeOutput = new FakeOutputShow();
            var            expected   = $"If you read this text then Show method of IScreen interface works for Capacitive Screen\n";
            //Act
            var screen = new Capacitive(pixelHeight: 320, pixelWidth: 480, 2.3, 1, fakeOutput);

            screen.Show();
            //Assert
            Assert.AreEqual(expected, fakeOutput.GetOutputAsText());
        }
        public void Touch_Capacitive()
        {
            //Arrange
            FakeOutputTouch fakeOutput = new FakeOutputTouch();
            var             expected   = $"This touch was made on Capacitive screen\nIsn't it fantastic?\n\n";
            //Act
            var screen = new Capacitive(pixelHeight: 320, pixelWidth: 480, 2.3, 1, fakeOutput);

            screen.Touch();
            //Assert
            Assert.AreEqual(expected, fakeOutput.GetOutputAsText());
        }
Exemplo n.º 5
0
        public MeadowApp()
        {
            Console.WriteLine("Initializing...");

            capacitive = new Capacitive(
                analogPort: Device.CreateAnalogInputPort(Device.Pins.A01),
                minimumVoltageCalibration: 2.84f,
                maximumVoltageCalibration: 1.63f
                );

            TestCapacitiveUpdating();
            //TestCapacitiveRead();
        }
Exemplo n.º 6
0
        void Initialize()
        {
            Console.WriteLine("Initialize hardware...");

            onboardLed = new RgbPwmLed(device: Device,
                                       redPwmPin: Device.Pins.OnboardLedRed,
                                       greenPwmPin: Device.Pins.OnboardLedGreen,
                                       bluePwmPin: Device.Pins.OnboardLedBlue,
                                       3.3f, 3.3f, 3.3f,
                                       Meadow.Peripherals.Leds.IRgbLed.CommonType.CommonAnode);
            onboardLed.SetColor(Color.Red);

            button          = new PushButton(Device, Device.Pins.D04, ResistorMode.InternalPullUp);
            button.Clicked += ButtonClicked;

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

            displayController = new DisplayController(display);

            capacitive = new Capacitive(
                device: Device,
                analogPin: Device.Pins.A01,
                minimumVoltageCalibration: MINIMUM_VOLTAGE_CALIBRATION,
                maximumVoltageCalibration: MAXIMUM_VOLTAGE_CALIBRATION);
            capacitive.Subscribe(new FilterableChangeObserver <FloatChangeResult, float>(
                                     handler =>
            {
                onboardLed.SetColor(Color.Purple);

                displayController.UpdateMoistureImage(handler);
                displayController.UpdateMoisturePercentage(handler.New, handler.Old);

                onboardLed.SetColor(Color.Green);
            },
                                     filter =>
            {
                return(Math.Abs(filter.Delta) > 0.05);
            }
                                     ));
            capacitive.StartUpdating(
                sampleCount: 10,
                sampleIntervalDuration: 40,
                standbyDuration: (int)TimeSpan.FromHours(1).TotalMilliseconds);

            analogTemperature = new AnalogTemperature(Device, Device.Pins.A00, AnalogTemperature.KnownSensorType.LM35);
            analogTemperature.Subscribe(new FilterableChangeObserver <AtmosphericConditionChangeResult, AtmosphericConditions>(
                                            handler =>
            {
                onboardLed.SetColor(Color.Purple);

                displayController.UpdateTemperatureValue(handler.New.Temperature.Value, handler.Old.Temperature.Value);

                onboardLed.SetColor(Color.Green);
            },
                                            filter =>
            {
                return(Math.Abs(filter.Delta.Temperature.Value) > 1f);
            }
                                            ));
            analogTemperature.StartUpdating(
                sampleCount: 10,
                sampleIntervalDuration: 40,
                standbyDuration: (int)TimeSpan.FromHours(1).TotalMilliseconds);

            onboardLed.SetColor(Color.Green);
        }
Exemplo n.º 7
0
        public CapacitiveApp()
        {
            capacitive = new Capacitive(Device.CreateAnalogInputPort(Device.Pins.A01));

            TestCapacitiveSensorAsync();
        }
Exemplo n.º 8
0
        public CapacitiveApp()
        {
            capacitive = new Capacitive(Device.CreateAnalogInputPort(Device.Pins.A00));

            TestCapacitive();
        }
Exemplo n.º 9
0
        void Initialize()
        {
            onboardLed = new RgbPwmLed(
                device: Device,
                redPwmPin: Device.Pins.OnboardLedRed,
                greenPwmPin: Device.Pins.OnboardLedGreen,
                bluePwmPin: Device.Pins.OnboardLedBlue);
            onboardLed.SetColor(Color.Red);

            button          = new PushButton(Device, Device.Pins.D04, ResistorMode.InternalPullUp);
            button.Clicked += ButtonClicked;

            var config = new SpiClockConfiguration(
                speed: new Frequency(48000, Frequency.UnitType.Kilohertz),
                mode: SpiClockConfiguration.Mode.Mode3);
            var spiBus = Device.CreateSpiBus(
                clock: Device.Pins.SCK,
                copi: Device.Pins.MOSI,
                cipo: Device.Pins.MISO,
                config: 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
                          );

            displayController = new DisplayController(display);

            capacitive = new Capacitive(
                device: Device,
                analogPin: Device.Pins.A01,
                minimumVoltageCalibration: MINIMUM_VOLTAGE_CALIBRATION,
                maximumVoltageCalibration: MAXIMUM_VOLTAGE_CALIBRATION);

            var capacitiveObserver = Capacitive.CreateObserver(
                handler: result =>
            {
                onboardLed.SetColor(Color.Purple);

                displayController.UpdateMoistureImage(result.New);
                displayController.UpdateMoisturePercentage(result.New, result.Old.Value);

                onboardLed.SetColor(Color.Green);
            },
                filter: null
                );

            capacitive.Subscribe(capacitiveObserver);

            capacitive.StartUpdating(TimeSpan.FromHours(1));

            analogTemperature = new AnalogTemperature(Device, Device.Pins.A00, AnalogTemperature.KnownSensorType.LM35);
            var analogTemperatureObserver = AnalogTemperature.CreateObserver(
                handler =>
            {
                onboardLed.SetColor(Color.Purple);

                displayController.UpdateTemperatureValue(handler.New, handler.Old.Value);

                onboardLed.SetColor(Color.Green);
            },
                filter: null
                );

            analogTemperature.Subscribe(analogTemperatureObserver);
            analogTemperature.StartUpdating(TimeSpan.FromHours(1));

            onboardLed.SetColor(Color.Green);
        }