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)); }
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; }
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); }
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); } }
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; } }