示例#1
0
        private static void RelayTimerTick(object state)
        {
            // Set Relay 1's state
            relayController.SetRelay(1, !relayController.ReadRelayState(1));

            // Set Relay 2's state
            relayController.SetRelay(2, !relayController.ReadRelayState(2));
        }
示例#2
0
        private static void RelayTimerTick(object state)
        {
            // Set Relay 1's state
            relayController.SetRelay(1, relayState);

            // Set Relay 2's state
            relayController.SetRelay(2, !relayState);

            // Invert relay state variable
            relayState = !relayState;
        }
示例#3
0
        static async void SensorTimerTick(object state)
        {
            // BME280 Sensöründen sıcaklığı oku
            double sicaklik = bme.ReadTemperature();

            // Sıcaklığı yaz
            Debug.WriteLine(sicaklik.ToString("0.000"));

            // VEML6075 Sensöründen UV Index'ini oku
            double uvindex = veml.Calculate_Average_UV_Index();

            // UV Index'i yaz
            Debug.WriteLine(uvindex.ToString("0.000"));

            // 4. Giriş / Çıkış Portundan analog girişi oku
            double toprakNemi = gc.ReadAnalogInput(4, false);

            // Analog değeri yaz
            Debug.WriteLine(toprakNemi.ToString("0.000"));

            // Toprak nemine göre su pompasını aç ya da kapat
            if (toprakNemi > 0.5) // Toprak kuruysa
            {
                // Röleyi aktifleştir: Pompa çalışır.
                role.SetRelay(2, true);
            }
            else // Toprak nemliyse
            {
                // Röleyi pasifleştir: Pompa çalışmaz.
                role.SetRelay(2, false);
            }

            // Azure IoT Hub'a gönderilecek verileri saklayan Telemetri sınıfını oluştur
            Telemetri telemetri = new Telemetri();

            telemetri.toprakNemi = toprakNemi;
            telemetri.sicaklik   = sicaklik;
            telemetri.uvindex    = uvindex;

            // Telemetri sınıfını JSON cümlesine çevir
            string telemetriJSON = JsonConvert.SerializeObject(telemetri);

            // Verileri Azure IoT Hub'a gönder
            await AzureIoTHub.SendDeviceToCloudMessageAsync(telemetriJSON);
        }
示例#4
0
        static void SensorTimerTick(object state)
        {
            // 4. Giriş / Çıkış Portundan analog girişi oku
            double toprakNemi = gc.ReadAnalogInput(4, false);

            // Analog değeri yaz
            Debug.WriteLine(toprakNemi.ToString("0.000"));

            // Toprak nemine göre su pompasını aç ya da kapat
            if (toprakNemi > 0.5) // Toprak kuruysa
            {
                // Röleyi aktifleştir: Pompa çalışır.
                role.SetRelay(2, true);
            }
            else // Toprak nemliyse
            {
                // Röleyi pasifleştir: Pompa çalışmaz.
                role.SetRelay(2, false);
            }
        }
示例#5
0
        private static void RelayTimerTick(object state)
        {
            switch (counter)
            {
            case 0:
                relayController.SetRelay(1, true);     // Turn relay 1 on
                break;

            case 1:
                relayController.SetRelay(2, true);     // Turn relay 2 on
                break;

            case 2:
                relayController.SetRelay(3, true);     // Turn relay 3 on
                break;

            case 3:
                relayController.SetRelay(4, true);     // Turn relay 4 on
                break;

            case 4:
                relayController.SetRelay(1, false);     // Turn relay 1 off
                break;

            case 5:
                relayController.SetRelay(2, false);     // Turn relay 2 off
                break;

            case 6:
                relayController.SetRelay(3, false);     // Turn relay 3 off
                break;

            case 7:
                relayController.SetRelay(4, false);     // Turn relay 4 off
                break;

            default:
                break;
            }

            // Increase the counter
            counter++;

            // Reset the counter if overflowed
            if (counter > 7)
            {
                counter = 0;
            }
        }