Пример #1
0
        private static void PwmRaspiTest(RaspberryPiBoard raspi)
        {
            int pinNumber = 12; // PWM0 pin

            Console.WriteLine("Blinking and dimming an LED - Press any key to quit");
            while (!Console.KeyAvailable)
            {
                GpioController ctrl = raspi.CreateGpioController();
                ctrl.OpenPin(pinNumber);
                ctrl.SetPinMode(pinNumber, PinMode.Output);
                ctrl.Write(pinNumber, PinValue.Low);
                Thread.Sleep(500);
                ctrl.Write(pinNumber, PinValue.High);
                Thread.Sleep(1000);
                ctrl.ClosePin(pinNumber);
                ctrl.Dispose();

                var pwm = raspi.CreatePwmChannel(0, 0, 9000, 0.1);
                pwm.Start();
                for (int i = 0; i < 10; i++)
                {
                    pwm.DutyCycle = i * 0.1;
                    Thread.Sleep(500);
                }

                pwm.Stop();
                pwm.Dispose();
            }

            Console.ReadKey(true);
        }
Пример #2
0
 private static void RaspberryPiTest()
 {
     using var raspi = new RaspberryPiBoard();
     PwmRaspiTest(raspi);
     SpiRaspiTestWithSoftwareCs(raspi);
     SpiRaspiTestWithHardwareCs(raspi);
 }
Пример #3
0
        public void GetDefaultSpiPins()
        {
            RaspberryPiBoard b = new RaspberryPiBoard();
            var pins           = b.GetDefaultPinAssignmentForSpi(new SpiConnectionSettings(0, -1));

            Assert.Equal(9, pins[0]);
            Assert.Equal(10, pins[1]);
            Assert.Equal(11, pins[2]);
        }
Пример #4
0
        public void GetDefaultI2cPinsLogicalNumbering()
        {
            RaspberryPiBoard b = new RaspberryPiBoard();
            var pins           = b.GetDefaultPinAssignmentForI2c(0);

            Assert.Equal(0, pins[0]);
            Assert.Equal(1, pins[1]);
            pins = b.GetDefaultPinAssignmentForI2c(1);
            Assert.Equal(2, pins[0]);
            Assert.Equal(3, pins[1]);
        }