int WATERPUMP = 13; //pompa de apă (motorul) este conectată la pin 13 int sensor = 8; //senzorul de umiditate este conectat la pin 8 int val; // variabila care reține valorea primită de la senzor void setup() { pinMode(13,OUTPUT); //setez pin 13 ca output pin pinMode(8,INPUT); //setez pin 8 ca input pin, ca să primesc date de la senzor Serial.begin(9600); while (! Serial); Serial.println("Speed 0 to 255"); } void loop() { if (Serial.available()) //loop pentru motor { int speed = Serial.parseInt(); // citește valoarea introdusă în Serial Monitor (cuprinsă între 0 și 255) if (speed >= 0 && speed <= 255) { analogWrite(WATERPUMP, speed);// pornește motorul la viteza specificată } } val = digitalRead(8); //citește valoarea primită de la senzor if(val == LOW) { digitalWrite(13,LOW); //dacă senzorul de umiditate a solului furnizează valoarea LOW, trimite valoarea LOW către pompa de apă, iar pompa se oprește } else { digitalWrite(13,HIGH); //dacă senzorul de umiditate a solului furnizează valoarea HIGH, trimite valoarea HIGH către pompa de apă, iar pompa pornește } delay(400); }