Nodemcu esp8266 Lineer Motor Projesi Sorusu

Nodemcu kartım ile uzaktan lineer motor kontrol etmek istiyorum nasıl bir ekipmana ihtiyacım var acaba örnek sistem şu şekilde

Şimdiden teşekkür ederim.

Bu iş için lineer aktüatör ile videodaki gibi bir sistem yapabilir veya selenoid valf kullanarak direk vana açma/kapama işlevini gerçekleştirebilirsiniz. (Dipnot, linkteki selenoid valfı şebeke suyu ile kullanacaksanız basıncı azaltmanız lazım veya daha güçlü bir selenoid valf kullanmanız lazım)

Bunun dışında bir de röleye ihtiyacınız var. Nodemcu ile komut verildiği zaman bu röleyi motorun vanayı açtığı süre boyunca çalıştırıp durdurursunuz. Benim aklıma bu geldi şuanlık

Cevap için teşekkürler Selenoid valf’ler sorun çıkarıyor’muş küçük bir çakıl parçası bile su sızdırmasını sağlıyor kullandığım vana 3" DN80 (fiyatları’da malum) Endüstriyel katagorisine girdiği için fiyatlar uçuk. Havuz’dan 2 adet vana ile bahçe sulayacağım en sağlıklısı böyle bir sistem diye düşündüm. Röle kartını tetikleyerek yapamazmıyım bu sistemi ?

Çozüm’ü buldum sadece bunu blynk İle kullanması kaldı yardımcı olurmusunuz https://youtu.be/EaoB6lfnS7g

const int relay1 = 2;
const int relay2 = 3;
const int pushButton1=8;
const int pushButton2=9;


void actuatorPull();
void actuatorPush();
void turnOFF();

void setup() {
 // Robojax Actuator code https://youtu.be/_bkNOyPElOo
    pinMode(relay1, OUTPUT);// set pin as output for relay 1
    pinMode(relay2, OUTPUT);// set pin as output for relay 2
    pinMode(pushButton1, INPUT_PULLUP);
    pinMode(pushButton2, INPUT_PULLUP);
    
    // keep the motor off by keeping both HIGH
    digitalWrite(relay1, HIGH); 
    digitalWrite(relay2, HIGH); 

 
  
  Serial.begin(9600);// initialize serial monitor with 9600 baud
  Serial.println("Robojax Actuator Control");
  Serial.println("Using 2 Relays");  
  delay(2000);
}

void loop() {
   // Robojax Actuator code https://youtu.be/_bkNOyPElOo
  while(digitalRead(pushButton1) ==LOW)
  {
   actuatorPull();
  }

  while(digitalRead(pushButton2) ==LOW)
  { 
    actuatorPush();
  }
  
   turnOFF();
          
}// loop end

/*
 * pushes the actuator
 * written by Ahmad Shamshiri 
 * www.Robojax.com
 * Written on Jan 03, 2019 in Ajax, Ontario, Canada 
 */
void actuatorPush()
{
   // Robojax Actuator code https://youtu.be/_bkNOyPElOo
    digitalWrite(relay1, LOW);// turn relay 1 ON
    digitalWrite(relay2, HIGH);// turn relay 2 OFF  

}//actuatorPush()

/*
 * pushes the actuator
 * written by Ahmad Shamshiri 
 * www.Robojax.com
 * Written on Jan 03, 2019 in Ajax, Ontario, Canada 
 */
void actuatorPull()
{
   // Robojax Actuator code https://youtu.be/_bkNOyPElOo
    digitalWrite(relay1, HIGH);// turn relay 1 OFF
    digitalWrite(relay2, LOW);// turn relay 2 ON
 
}//actuatorPull()

/*
 * turnOFF the actuator
 * written by Ahmad Shamshiri 
 * www.Robojax.com
 * Written on Jan 03, 2019 in Ajax, Ontario, Canada 
 */
void turnOFF()
{
   // Robojax Actuator code https://youtu.be/_bkNOyPElOo
    digitalWrite(relay1, HIGH);// turn relay 1 OFF
    digitalWrite(relay2, HIGH);// turn relay 2 OFF

}//turnOFF()