Пример #1
0
        private static void Kompass()
        {
            int TasterPin = 26;

            WirinPiWrapper wiringPiLib = new WirinPiWrapper();

            wiringPiLib.WiringPiSetupGpio();

            wiringPiLib.PinMode(TasterPin, PinType.INPUT);              //37 liest am Taster, um die Nadel manuell zu bewegen

            ISchrittmotor schrittMotor = new Schrittmotor(wiringPiLib, 19, 13, 6, 5);

            schrittMotor.Run(1);

            KompassHMC6343 kompass = new KompassHMC6343(wiringPiLib);
            KompassDisplay display = new KompassDisplay(schrittMotor);

            while (true)
            {
                while (wiringPiLib.DigitalRead(TasterPin) == 1)
                {
                    Console.WriteLine("Calibrate");
                    display.Calibrate();
                }

                double heading = kompass.ReadHeading();
                Console.WriteLine("Heading: " + heading);
                //display.ShowClassic (heading);
                display.ShowNavigation(heading);
            }
        }
Пример #2
0
        private static void AD_MCP4921_SPI()
        {
            WirinPiWrapper wiringPiLib = new WirinPiWrapper();

//			WiringPiWrapperLogging wiringPiLib = new WiringPiWrapperLogging ();
//			wiringPiLib.SetPinName (18, "CS");
//			wiringPiLib.SetPinName (23, "Clock");
//			wiringPiLib.SetPinName (25, "SDI");

            wiringPiLib.WiringPiSetupGpio();

            DA_MCP4921_SPI ad = new DA_MCP4921_SPI(wiringPiLib, 18, 23, 25);

            while (true)
            {
                ad.SetVoltage(0);
                Thread.Sleep(50);
                ad.SetVoltage(50);
                Thread.Sleep(50);
                ad.SetVoltage(100);
                Thread.Sleep(50);
                ad.SetVoltage(50);
                Thread.Sleep(50);
            }
        }
Пример #3
0
        public DA_AD_DA_Reihe()
        {
            wiringPiLib.WiringPiSetupGpio();

            ad = new AD_MCP3201_SPI(wiringPiLib, 26, 13, 19);                           //cs clock data
            da = new DA_MCP4921_SPI(wiringPiLib, 22, 13, 27);                           //cs clock data //Erkenntnis : Data kann bei spi nur auf einem Draht sein, wenn alle lesen oder alle schreiben!
        }
Пример #4
0
        void Initializer()
        {
            WiringPiLib = new WirinPiWrapper();
            WiringPiLib.WiringPiSetupGpio();

            WiringPiLib.PinMode(SHUTDOWNPIN, PinType.INPUT);
            WiringPiLib.PullUpDnControl(SHUTDOWNPIN, PullUpType.PUD_UP);

            WiringPiLib.PinMode(ACTIVPIN, PinType.INPUT);
            WiringPiLib.PullUpDnControl(ACTIVPIN, PullUpType.PUD_DOWN);

            for (int i = 0; i < Sensors.Length; i++)
            {
                WiringPiLib.PinMode(Sensors [i], PinType.INPUT);
                WiringPiLib.PullUpDnControl(Sensors[i], PullUpType.PUD_DOWN);
            }

            SleepBetweenActions = Int32.Parse(ConfigurationManager.AppSettings ["Hund_SleepBetweenActions"]);

            int pwmRange   = Int32.Parse(ConfigurationManager.AppSettings ["Hund_PWM_Range"]);
            int servohertz = Int32.Parse(ConfigurationManager.AppSettings ["HundServohertz"]);
            int servoMaximalAusschlagGrad = Int32.Parse(ConfigurationManager.AppSettings ["HundServoMaximalAusschlagGrad"]);
            int hundServoMilliSecLeft     = Int32.Parse(ConfigurationManager.AppSettings ["HundServoMicroSecLeft"]);
            int hundServoMilliSecRight    = Int32.Parse(ConfigurationManager.AppSettings ["HundServoMicroSecRight"]);

            InvertSensorInput             = bool.Parse(ConfigurationManager.AppSettings ["HundInvertSensorInput"]);
            NonPlausibleWaitTimerMilliSec = Int32.Parse(ConfigurationManager.AppSettings ["HundNonPlausibleWaitTimerMilliSec"]);
            LenkDeltaInGrad = float.Parse(ConfigurationManager.AppSettings ["HundLenkDeltainGrad"]);

            LenkServo = new Servo(PWMServoPin, servohertz, pwmRange, servoMaximalAusschlagGrad, WiringPiLib, hundServoMilliSecLeft, hundServoMilliSecRight);
        }
        public FunktionsgeneratorMCP4921(Wellenform wellenform)
        {
            wiringPiLib.WiringPiSetupGpio();

            da = new DA_MCP4921_SPI(wiringPiLib, 18, 23, 25);

            GenerateWaveTable(wellenform);
        }
Пример #6
0
        private static void Schrittmotor()
        {
            WirinPiWrapper wiringPiLib = new WirinPiWrapper();

            wiringPiLib.WiringPiSetupGpio();

            Schrittmotor schrittmotor = new Schrittmotor(wiringPiLib, 1, 2, 3, 4);

            schrittmotor.Run(100);
        }
        public Funktionsgenerator8562FPZ_Parallel(Wellenform wellenform)
        {
            wiringPiLib.WiringPiSetupGpio();

            da = new DA_8562FPZ_Parallel(wiringPiLib);

            GenerateWaveTable(wellenform);

            GetEigenFrequenz();
        }
        public void DoVerySmartDisplay()
        {
            wiringPiLib.WiringPiSetupGpio();
            dac = new AD_MCP3201_SPI(wiringPiLib, 26, 13, 19);

            while (true)
            {
                Console.WriteLine(dac.ReadVoltage());
                //Thread.Sleep (10);
            }
        }
Пример #9
0
        public FolienTastatur()
        {
            wiringPiLib.WiringPiSetupGpio();

            for (int i = 0; i < Rows.Length; i++)
            {
                wiringPiLib.PinMode(Rows [i], PinType.OUTPUT);
                wiringPiLib.DigitalWrite(Rows [i], 0);
                wiringPiLib.PinMode(Cols [i], PinType.INPUT);
                wiringPiLib.PullUpDnControl(Cols[i], PullUpType.PUD_DOWN);
            }
        }
Пример #10
0
        private static void AD_MCP4921_SPI_Toggler()
        {
            //Verzerrt bisschen, schafft 50 KHZ

            WirinPiWrapper wiringPiLib = new WirinPiWrapper();

            wiringPiLib.WiringPiSetupGpio();

            DA_MCP4921_SPI ad = new DA_MCP4921_SPI(wiringPiLib, 18, 23, 25);

            while (true)
            {
                ad.SetVoltage(0);
                ad.SetVoltage(100);
            }
        }
Пример #11
0
        private static void AD_8562_Parallel()
        {
            WirinPiWrapper wiringPiLib = new WirinPiWrapper();

            wiringPiLib.WiringPiSetupGpio();

            DA_8562FPZ_Parallel da = new DA_8562FPZ_Parallel(wiringPiLib);

            while (true)
            {
                da.SetVoltage(0);
                Thread.Sleep(50);
                da.SetVoltage(2047);
                Thread.Sleep(50);
                da.SetVoltage(4095);
                Thread.Sleep(50);
            }
        }