Centralina Serra Automatica V1.0

PROGETTO 025 – Una Serra automatica per le tue piante che pensa a tutto.

Ciao Ragazzi siamo arrivati ad un quarto del percorso intrapreso tempo fa quando decisi di iniziare, sul mio canale Youtube e su questo blog, una serie di video dedicati ad Arduino Uno.

Oggi vi presento il venticinquesimo progetto della serie 100 Progetti con Arduino Uno. Una piccola centralina per la gestione automatizzata della vostra serra.

Io non ho mai posseduto ne un orto, ne un giardino e ne tanto meno una serra. Ma ho sempre desiderato averne una. Purtroppo per motivi di spazio e di tempo non ho mai proto a costruirne o comprarne una. Forse in futuro…

Premetto di non aver mai fatto ne giardinaggio ne di aver mai lavorato in un orto quindi mi scuso in anticipo se in quest’articolo potrei commettere qualche grave errore! 🙂

Cosa serve ad una Serra?

Nell’immaginare una serra automatica ho cercato di pensare alle 4 cose fondamentali che in una coltivazione indoor, per esempiop debba possedere:

  1. Un controllo delle luci per la simulazione giorno-notte (superfluo per una serra o un orto);
  2. La gestione della ventilazione in base alla temperatura interna e all’umidità;
  3. La gestione dell’innaffiatura automatica del terreno o della pianta in genere;
  4. Infine il controllo della concimatura.


Ho chiamato il progetto Serra Versione 1.0 questo perché in futuro ho in mente di inserire nuove funzioni al codice rendendolo sempre più complesso. Ma non sto adesso a spiegarvi come!

Il cuore del progetto è la scheda Arduino Uno, anche se per sfruttare al meglio sistema ed avere più ingressi dove collegare tanti sensori, forse sarebbe meglio utilizzare una scheda Arduino Mega.


Un modulo molto importate che dobbiamo utilizzare per il corretto funzionamento della serra è il DS1307, che è un RTC (Real Time Clock) e ci servirà per avere un orologio di sistema.

Come sensore ambientale ho scelto un DHT11. Un sensore digitale che fornisce informazioni su temperatura e l’umidità. Costa pochissimo e per nostro scopo si adatta bene.


Per rilevare l’umidità del terreno ho scelto un sensore capacitivo a forchetta. Anche in questo il costo è irrisorio e il dovere suo lo fa.

Non ve lo consiglio tantissimo però, visto che a lungo termine i contatti della forchetta si consumano se il PH del terreno risultasse troppo acido oppure troppo basico. Ne esiste una versione più resistente con i contatti in Solder-Mask. Scegliete quella che forse è migliore.


Un modulo a 4 relè servirà per pilotare la pompa per l’innaffiatura, le luci, la ventola per l’areazione della serra e il motore per la concimatura. Infine il classico display LCD I2C da 4 righe e 20 colonne per visualizzare tutte le info.

Lista dei componenti utilizzati e altro

Schema di collegamento a blocchi

Quando lo alimentiamo l’Arduino sul display compariranno per circa una decina di secondi le info sul sistema e un po’ di pubblicità (concedetemi almeno questa). Subito dopo verrà visualizzata la schermata di controllo generale.

Nome del programma installato nella board, data e ora corrente, info su umidità relativa e temperatura.

Le scritte L V I C corrispondono ai quattro relè per il controllo di luci, ventola d’areazione, pompa per l’innaffiatura e motore per la concimatura. Quando sotto di essi trovate una X vuol dire che il relè e spento. Se trovate la lettera O vuol dire che il relè è accesso. Nel codice, se non vi piacciono questi simboli potete pure cambiarli.

Come si comporta la centralina?

Le luci si attivano con un timer impostabile da codice. Selezionate ora e minuti sia di accensione che di spegnimento ed ogni giorno si accenderanno in automatico. La ventilazione invece parte quando la temperatura supera una certa soglia che per isteresi si spegnerà ad una seconda soglia di un grado più bassa.

L’innaffiatura si attiva quando il grado di umidità del terreno risulterà basso. Qui dovrete fare dei test e selezionare un valore più consono al vostro sistema.

int Val_Forchetta_01;
int Val_Hum_Att = 511;
void Idro(){
  Val_Forchetta_01 = analogRead(A0);
  Serial.println(Val_Forchetta_01);
  if(Val_Forchetta_01 > Val_Hum_Att){
    digitalWrite(Rele_Idro, LOW);
    Serial.println("-- Innaffiatura attivata");
    lcd.setCursor(4, 3);
    lcd.print("O");
    }
   else{
    digitalWrite(Rele_Idro, HIGH);
    lcd.setCursor(6, 3);
    lcd.print("X");
    }
  }

Infine la concimatura è anch’essa a tempo si attiva per pochi secondi ogni giorno ma potete decidere di attivarla un giorno si ed uno no. Insomma grazie al timer ci si può sbizzarrire. In futuro, come vi dicevo prima, inserirò nuove funzioni al progetto. Forse un menù che permetterà impostare tutti i parametri di controllo direttamente dal display.

Quando scaricate i codici dal link in basso sotto il form del video, scompattando il file zip ricordatevi di copiare le librerie presenti nella vostra cartella librerie (come sempre), altrimenti se aprite il programma e provate a caricarlo vi darà errore.

Aprite il file nominato Progetto_025 tutti gli altri file si apriranno insieme.

Scarica lo sketch da questo link:
Progetto_025

Tutti i file compressi disponibili per il download, sono stati realizzati utilizzando il software IZArc. Il software è totalmente gratuito e scaricabile da qui. Per una corretta estrazione dei file, Vi consiglio di scaricarlo.

Nella sezione 100 Progetti con Arduino Uno puoi trovare articoli simili con file sorgenti liberamente scaricabili.

Per qualsiasi info, per un aiuto nella realizzazione dei vostri progetti, o più semplicemente per segnalarci degli errori o link corrotti, utilizzate la pagina Contattaci.

Grazie per aver letto questo articolo, se puoi leggine degli altri, commenta per sostenere il blog e iscriviti al mio canale Youtube. Seguimi anche su Instagram e Facebook dove puoi anche pubblicare i tuoi progetti sul gruppo Arduino For Peoplem.

You may also like...

19 Responses

  1. Antonio ha detto:

    Ho scaricato il progetto in quanto ho intenzione di coltivare dei peperoncini.
    Il progetto cosi com’è è sufficiente per gestire una serra amatoriale.
    Resto in attesa di una nuova versione.
    Complimenti ancora per il progetto.

  2. Baban ha detto:

    Bel progetto!
    Sto cercando di adattarlo per il controllo di una cella di stagionatura salumi domestica….

  3. Gavino ha detto:

    ciao ho intenzione di usare il tuo programma della serra automatica visto che va bene per le mie piante carnivore ma quando lo scaricato mi dice che l’archivio e dannegiato mi potresti aiutare grazie

    • peoplem ha detto:

      Ciao Gavino, il problema é sicuramente legato al software che utilizzi per decomprimere il file. Devi utilizzare iZarc e non avrai problemi. Non ci saranno errori. Fidati

  4. ernesto girardi ha detto:

    Ciao e complimenti per il lavoro.
    Sono neofita, mi spieghi un paio di cose?
    1) L’RTC è indirizzato agli stessi piedini dell’I2C dell’LCD? E’ giusto?
    2) Di conseguenza: dove va collegato l’LCD o l’RTC?
    Purtroppo nel codice non riesco a trovarlo 🙁
    Grazie e buona serata

  5. walter ha detto:

    Ciao perdonatemi ma non trovo lo schema elettrico dove posso recuperarlo? Grazie in anticipo

    • peoplem ha detto:

      Ciao Walter non mi ricordavo di questo progetto scusami. Allora lo schema non è presente visto che c’è quello a blocchi con i relativi pin. Basta collegare tutte le alimentazioni sei sensori alla 5V e al gnd tranne ovviamente delle scheda relè che cambia in base al modello scelto. Per replicare il progetto senza intoppi ti consiglio di acquistare i prodotti dai miei link, in questo modo utilizzi ciò che ho utilizzato io e sostieni anche il blog. Il prezzo non cambia.

      • walter ha detto:

        grazie per la risposta, sono nuovo di questo mondo arduino e sto cercando piu informazioni possibili per colmare la mia ignoranza in merito. scusa la domanda ma il programma è zippato ma dentro trovo diversi file, vanno messi tutti nella stessa cartella come sono quindi?. non voglio stufare il blog con le mie domande da principiante se hai modo di rispondermi lascio qui la mia mail [censurata per privacy]

        • peoplem ha detto:

          Ciao Walter, non ti preoccupare. Fai tutte le domande che vuoi.
          Le librerie vanno copiate nella cartella libraries dell’IDE di Arduino (sicuramente se utilizzi Windows la troverai in documenti/arduino). I file invece li lasci nella cartella

  6. luca ha detto:

    ciao, dove posso trovare il programma?

    • peoplem ha detto:

      Nell’articolo in basso trovi il file zip contenente librerie e codice.
      Se non riesci ad aprirlo utilizza il software iZarc. Il link lo trovi sempre nell’articolo.

  7. Fab ha detto:

    Ciao, mi dice sulla schermata RTCDateTime come errore e ho scaricato e installato tutte le librerie. Cosa devo fare?

    • peoplem ha detto:

      Dovrei vedere la schermata per capire bene, perche ti dice qual è la stringa sbagliata. Al 90% avrai sbagliato a copiare le librerie. Forse avrai copiato l’intera cartella. Le devi vcopiare una ad una.

  8. Gabriel ha detto:

    ciao, volevo riprodurre il progetto, riusciresti a mandarmi la foto dall’alto del circuito completo. grazie in anticipo

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *