Progetto sensore di umidità e relay (qualcosa non funziona)

Buongiorno a tutti :smiley:
Sono nuovo del forum quindi chiedo scusa in anticipo se sbaglio qualcosa ma non esitate a farmelo notare!

Sto cercando di fare un piccolo progetto per fare in modo che il mio bonsai si bagni da solo...
Ho collegato un sensore di umidità e vorrei che sopra un certo valore il relay si accenda accendendo così la pompetta che per un paio di secondi innaffi il vaso.
Sia il sensore che il relay usati singolarmente funzionano ma unite le due cose non succede nulla...non c'è un messaggio di errore ma non si accende la pompetta.
Vi posto il codice.

#define sensore A0
#define relay 7
void setup()
{
 pinMode(A0,INPUT);
 pinMode(7,OUTPUT);
 Serial.begin(9600); // Inizializzo la comunicazione seriale
}

void loop()
{
 int val = analogRead(sensore); // salvo il valore sensore dentro alla variabile val
 Serial.println(val, DEC); // Scrivo il valore del sensore, espresso in numeri decimali
 
 if(val>650) //se il valore letto dal sensore è alto (terreno asciutto), accendo il relay
digitalWrite(Relay, HIGH);   //Turn off relay 
         delay(2000); 
         digitalWrite(Relay, LOW);    //Turn on relay 
  else
 digitalWrite(led,LOW); //altrimenti lo spengo (o lo lascio spento)
 
}

Vi ringrazio in anticipo :slight_smile:

SCUSATE MA HO POSTATO IL CODICE SBAGLIATO... QUESTO E' QUELLO CHE INTENDEVO METTERE

#define sensore A0
#define relay 7
void setup()
{
 pinMode(A0,INPUT);
 pinMode(7,OUTPUT);
 Serial.begin(9600); // Inizializzo la comunicazione seriale
}

void loop()
{
 int val = analogRead(sensore); // salvo il valore sensore dentro alla variabile val
 Serial.println(val, DEC); // Scrivo il valore del sensore, espresso in numeri decimali
 
 if(val>650) //se il valore letto dal sensore è alto (terreno asciutto), accendo il relay
digitalWrite(7, HIGH);   //Turn off relay 
         delay(5000); 
         digitalWrite(7, LOW);    //Turn on relay 

 
}

Benvenuto. :slight_smile:
Ti invitiamo a presentarti qui: Re: Presentazioni nuovi iscritti, fatevi conoscere da tutti! (Part 1) - Generale - Arduino Forum
e a leggere il regolamento: [REGOLAMENTO] Come usare questa sezione del forum - Italiano - Arduino Forum

Nel blocco:

digitalWrite(7, HIGH);   //Turn off relay 
         delay(5000); 
         digitalWrite(7, LOW);    //Turn on relay

dici che il pin alto spegne (turn off) ed il pin basso accende (turn on)
prima di tutto conferma che è così anche se è strano visto che metti 5 secondi...

Poi, devi racchiudere le istruzioni dopo l'IF fra {}
quindi diventa:

if (val>650)
         {
          digitalWrite(7, HIGH);
         delay(5000); 
         digitalWrite(7, LOW);
         }