Selam, elimde 1 adet selenoid Valve bulunmakta. Elektrik enerjisi (24v) verilince su geçişini sağlamakta, şunu istiyorum kaçak su sensörü ile buzzer ötmeye başladığında yani kaçak oldu. Algılandığı anda selenoid Valve enerji gitmesin kapansın istiyorum su geçişi olmasın bunu nasıl yapabiliriz?
Kod:
#define SELANOID (4)
int buzzerPin = 5;
int yagmur = 500; // "yagmur" adında değişkenimizi oluşturup başlangıç için 0 değeri verdik.
int sensor = A0;
unsigned long ilk_zaman=0;
unsigned long son_zaman;
-----------------------------
setup kısmı.
pinMode(SELANOID, OUTPUT); //Buzzer bağladığımız pini OUTPUT olarak ayarlıyoruz.
--------------------------------------
loop kısmı.
yagmur = analogRead(A0); // A0 pin değerini "yagmur" değişkenimize aktardık.
if(yagmur < 500){ // "yagmur" değişkenimizin değerini IF kontrol yapısıyla karşılaştırıyoruz.
Serial.println("kAÇAK yok!");
digitalWrite(buzzerPin, LOW);
//delay(1000);
son_zaman=millis();
if (son_zaman-ilk_zaman>=1000){
led_durum=!led_durum;
digitalWrite(ledd,led_durum);
ilk_zaman=son_zaman;
}
leds[1].setRGB(0, 0, 255); //mavi
digitalWrite(SELANOID, HIGH);
}
///////////////////////////////////////////////////////////////////////21.05.22
if(yagmur > 500){
Serial.println("KAÇAK VAR!");
digitalWrite(buzzerPin, HIGH);
son_zaman=millis();
if (son_zaman-ilk_zaman>=1000){
led_durum=!led_durum;
digitalWrite(ledd,led_durum);
ilk_zaman=son_zaman;
//delay(100);
//delay(1000);
digitalWrite(buzzerPin, LOW);
son_zaman=millis();
if (son_zaman-ilk_zaman>=1000){
led_durum=!led_durum;
digitalWrite(ledd,led_durum);
ilk_zaman=son_zaman;
//delay(100);
//delay(1000);
}
}
leds[1].setRGB(255, 0, 0); //kırmızı
digitalWrite(SELANOID, LOW);
}
Son düzenleme: