Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            Console.WriteLine("\nPCA9685 GPIO Output Test\n");

            if (args.Length != 2)
            {
                Console.WriteLine("Usage: test_pca9685_gpio <bus> <addr>\n");
                Environment.Exit(1);
            }

            // Create GPIO pin object

            IO.Interfaces.I2C.Bus bus =
                new IO.Objects.libsimpleio.I2C.Bus(args[0]);

            IO.Devices.PCA9685.Device dev =
                new IO.Devices.PCA9685.Device(bus, int.Parse(args[1]), 5000);

            IO.Interfaces.GPIO.Pin GPIO0 =
                new IO.Devices.PCA9685.GPIO.Pin(dev, 0, false);

            // Toggle the GPIO output

            Console.WriteLine("Press CONTROL-C to exit");

            for (;;)
            {
                GPIO0.state = !GPIO0.state;
            }
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            Console.WriteLine("\nHDC1080 Temperature/Humidity Sensor Test\n");

            if (args.Length != 1)
            {
                Console.WriteLine("Usage: test_hdc1080 <bus>\n");
                Environment.Exit(1);
            }

            IO.Interfaces.I2C.Bus bus =
                new IO.Objects.libsimpleio.I2C.Bus(args[0]);

            IO.Devices.HDC1080.Device dev = new IO.Devices.HDC1080.Device(bus);

            Console.Write("Manufacturer ID: 0x" + dev.ManufacturerID.ToString("X4"));
            Console.Write("  ");
            Console.WriteLine("Device ID: 0x" + dev.DeviceID.ToString("X4"));
            Console.WriteLine();

            for (;;)
            {
                Console.Write("Temperature: " + dev.Celsius.ToString("F1"));
                Console.Write("  ");
                Console.Write("Humidity: " + dev.Humidity.ToString("F1"));
                Console.WriteLine();

                System.Threading.Thread.Sleep(1000);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Constructor for a single Expand 2 click.
        /// </summary>
        /// <param name="socknum">mikroBUS socket number.</param>
        /// <param name="addr">I<sup>2</sup>C slave address.</param>
        public Board(int socknum, int addr = DefaultAddress)
        {
            // Create a mikroBUS socket object

            IO.Objects.libsimpleio.mikroBUS.Socket S =
                new IO.Objects.libsimpleio.mikroBUS.Socket(socknum);

            // Configure hardware reset GPIO pin

            myrst = new IO.Objects.libsimpleio.GPIO.Pin(S.RST,
                                                        IO.Interfaces.GPIO.Direction.Output, true);

            // Issue hardware reset

            Reset();

            // Configure I2C bus

            IO.Interfaces.I2C.Bus bus;

            if (IO.Objects.libsimpleio.mikroBUS.Shield.I2CBus is null)
            {
                bus = new IO.Objects.libsimpleio.I2C.Bus(S.I2CBus);
            }
            else
            {
                bus = IO.Objects.libsimpleio.mikroBUS.Shield.I2CBus;
            }

            // Configure the MCP23017

            mydev = new IO.Devices.MCP23017.Device(bus, addr);
        }
Ejemplo n.º 4
0
        static void Main(string[] args)
        {
            Console.WriteLine("\nGrove Temperature and Humidity Sensor (TH02) Test\n");

            if (args.Length != 1)
            {
                Console.WriteLine("Usage: test_grove_temperature_humidity <bus>\n");
                Environment.Exit(1);
            }

            IO.Interfaces.I2C.Bus bus =
                new IO.Objects.libsimpleio.I2C.Bus(args[0]);

            IO.Devices.Grove.Temperature_Humidity.Device dev =
                new IO.Devices.Grove.Temperature_Humidity.Device(bus);

            Console.WriteLine("Device ID: 0x" + dev.DeviceID.ToString("X2"));
            Console.WriteLine();

            for (;;)
            {
                Console.Write("Temperature: " + dev.Celsius.ToString("F1"));
                Console.Write("  ");
                Console.Write("Humidity: " + dev.Humidity.ToString("F1"));
                Console.WriteLine();

                System.Threading.Thread.Sleep(1000);
            }
        }
Ejemplo n.º 5
0
        static void Main(string[] args)
        {
            Console.WriteLine("\nGrove I2C A/D Converter Test\n");

            if (args.Length != 1)
            {
                Console.WriteLine("Usage: test_grove_i2c_adc <bus>\n");
                Environment.Exit(1);
            }

            IO.Interfaces.I2C.Bus bus =
                new IO.Objects.libsimpleio.I2C.Bus(args[0]);

            IO.Interfaces.ADC.Sample adc =
                new IO.Devices.ADC121C021.Sample(bus, 0x50);

            IO.Interfaces.ADC.Input inp =
                new IO.Interfaces.ADC.Input(adc, 3.0, 0.5);

            Console.WriteLine("Resolution: " + adc.resolution.ToString() + " bits\n");

            for (;;)
            {
                Console.WriteLine("Voltage => " + inp.voltage.ToString("F2"));
                Thread.Sleep(1000);
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Constructor for a single PWM click.
        /// </summary>
        /// <param name="socknum">mikroBUS socket number.</param>
        /// <param name="freq">PWM pulse frequency in Hz.</param>
        /// <param name="addr">I<sup>2</sup>C slave address.</param>
        public Board(int socknum, int freq, int addr = DefaultAddress)
        {
            IO.Objects.libsimpleio.mikroBUS.Socket S =
                new IO.Objects.libsimpleio.mikroBUS.Socket(socknum);

            IO.Interfaces.I2C.Bus bus;

            if (IO.Objects.libsimpleio.mikroBUS.Shield.I2CBus is null)
            {
                bus = new IO.Objects.libsimpleio.I2C.Bus(S.I2CBus);
            }
            else
            {
                bus = IO.Objects.libsimpleio.mikroBUS.Shield.I2CBus;
            }

            mydev = new IO.Devices.PCA9685.Device(bus, addr, freq);
        }
Ejemplo n.º 7
0
        static void Main(string[] args)
        {
            Console.WriteLine("\nPCA9685 PWM Output Test\n");

            if (args.Length != 2)
            {
                Console.WriteLine("Usage: test_grove_i2c_adc <bus> <addr>\n");
                Environment.Exit(1);
            }

            // Create PWM output object

            IO.Interfaces.I2C.Bus bus =
                new IO.Objects.libsimpleio.I2C.Bus(args[0]);

            IO.Devices.PCA9685.Device dev =
                new IO.Devices.PCA9685.Device(bus, int.Parse(args[1]), 1000);

            IO.Interfaces.PWM.Output PWM0 =
                new IO.Devices.PCA9685.PWM.Output(dev, 0);

            // Sweep PWM pulse width back and forth

            Console.WriteLine("Press CONTROL-C to exit");

            for (;;)
            {
                int n;

                for (n = 0; n < 100; n++)
                {
                    PWM0.dutycycle = n;
                    System.Threading.Thread.Sleep(50);
                }

                for (n = 100; n >= 0; n--)
                {
                    PWM0.dutycycle = n;
                    System.Threading.Thread.Sleep(50);
                }
            }
        }
Ejemplo n.º 8
0
        static void Main(string[] args)
        {
            Console.WriteLine("\nPCA9685 Servo Output Test\n");

            if (args.Length != 2)
            {
                Console.WriteLine("Usage: test_pca9685_pwm <bus> <addr>\n");
                Environment.Exit(1);
            }

            // Create servo output object

            IO.Interfaces.I2C.Bus bus =
                new IO.Objects.libsimpleio.I2C.Bus(args[0]);

            IO.Devices.PCA9685.Device dev =
                new IO.Devices.PCA9685.Device(bus, int.Parse(args[1]), 50);

            IO.Interfaces.Servo.Output Servo0 =
                new IO.Devices.PCA9685.Servo.Output(dev, 0);

            // Sweep servo position back and forth

            Console.WriteLine("Press CONTROL-C to exit");

            for (;;)
            {
                int n;

                for (n = -100; n < 100; n++)
                {
                    Servo0.position = n / 100.0;
                    System.Threading.Thread.Sleep(50);
                }

                for (n = 100; n >= -100; n--)
                {
                    Servo0.position = n / 100.0;
                    System.Threading.Thread.Sleep(50);
                }
            }
        }
Ejemplo n.º 9
0
        static void Main(string[] args)
        {
            Console.WriteLine("\nGrove ADC Test\n");

            if (args.Length != 1)
            {
                Console.WriteLine("Usage: test_grove_adc <bus>\n");
                Environment.Exit(1);
            }

            IO.Interfaces.I2C.Bus bus =
                new IO.Objects.libsimpleio.I2C.Bus(args[0]);

            IO.Devices.Grove.ADC.Device ain =
                new IO.Devices.Grove.ADC.Device(bus);

            for (;;)
            {
                Console.WriteLine("Voltage => " + ain.voltage.ToString("F2"));
                System.Threading.Thread.Sleep(1000);
            }
        }
Ejemplo n.º 10
0
        static void Main(string[] args)
        {
            Console.WriteLine("\nPCA8574 GPIO Port Toggle Test\n");

            if (args.Length != 2)
            {
                Console.WriteLine("Usage: test_pca8574_device <bus> <addr>\n");
                Environment.Exit(1);
            }

            IO.Interfaces.I2C.Bus bus =
                new IO.Objects.libsimpleio.I2C.Bus(args[0]);

            IO.Devices.PCA8574.Device dev =
                new IO.Devices.PCA8574.Device(bus, int.Parse(args[1]));

            for (;;)
            {
                dev.Write(0x55);
                dev.Write(0xAA);
            }
        }
Ejemplo n.º 11
0
        static void Main(string[] args)
        {
            Console.WriteLine("\nPCA9534 GPIO Pin Toggle Test\n");

            if (args.Length != 2)
            {
                Console.WriteLine("Usage: test_pca9534_gpio <bus> <addr>\n");
                Environment.Exit(1);
            }

            IO.Interfaces.I2C.Bus bus =
                new IO.Objects.libsimpleio.I2C.Bus(args[0]);

            IO.Devices.PCA9534.Device dev =
                new IO.Devices.PCA9534.Device(bus, int.Parse(args[1]));

            IO.Interfaces.GPIO.Pin GPIO0 = new IO.Devices.PCA9534.GPIO.Pin(dev, 0,
                                                                           IO.Interfaces.GPIO.Direction.Output, false);

            for (;;)
            {
                GPIO0.state = !GPIO0.state;
            }
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Constructor for a single ADAC click.
        /// </summary>
        /// <param name="socknum">mikroBUS socket number.</param>
        /// <param name="addr">I<sup>2</sup>C slave address.</param>
        public Board(int socknum, int addr = DefaultAddress)
        {
            IO.Objects.libsimpleio.mikroBUS.Socket S =
                new IO.Objects.libsimpleio.mikroBUS.Socket(socknum);

            // Configure hardware reset GPIO pin

            myrst = new IO.Objects.libsimpleio.GPIO.Pin(S.RST,
                                                        IO.Interfaces.GPIO.Direction.Output, true);

            // Issue hardware reset

            Reset();

            // Configure I2C bus

            IO.Interfaces.I2C.Bus bus;

            if (IO.Objects.libsimpleio.mikroBUS.Shield.I2CBus is null)
            {
                bus = new IO.Objects.libsimpleio.I2C.Bus(S.I2CBus);
            }
            else
            {
                bus = IO.Objects.libsimpleio.mikroBUS.Shield.I2CBus;
            }

            // Configure AD5593R

            mydev = new IO.Devices.AD5593R.Device(bus, addr);

            // The ADAC click is wired for 0-5.0V on both ADC and DAC

            mydev.ADC_Reference = IO.Devices.AD5593R.ReferenceMode.Internalx2;
            mydev.DAC_Reference = IO.Devices.AD5593R.ReferenceMode.Internalx2;
        }