Come collegare il sensore di umidità del suolo ad Arduino?

Sommario:

Come collegare il sensore di umidità del suolo ad Arduino?
Come collegare il sensore di umidità del suolo ad Arduino?
Anonim

Quando vai da qualche parte lontano per un certo periodo di tempo? Non c'è nessuno che innaffi i tuoi fiori interni, quindi devi chiedere aiuto ai tuoi vicini, che, a loro volta, potrebbero essere negligenti al riguardo. Di conseguenza, al tuo arrivo, le piante si sentiranno male. Per evitare che ciò accada, puoi realizzare un sistema di irrigazione automatico. A tale scopo, abbiamo bisogno di un Arduino e di un sensore di umidità del suolo. Nell'articolo considereremo un esempio di connessione e utilizzo del sensore FC-28. Si è dimostrato positivo, con l'aiuto di migliaia di progetti sono stati creati.

Informazioni su FC-28

Ci sono una grande varietà di sensori per determinare l'umidità della terra, ma il più popolare è il modello FC-28. Ha un prezzo basso, grazie al quale è ampiamente utilizzato da tutti i radioamatori nei loro progetti. Viene utilizzato il sensore di umidità del suolo con Arduino. Ha due sonde che conducono corrente elettrica attraverso il terreno. Si scopre che se il terreno è bagnato, la resistenza tra le sonde è inferiore. Con terreno asciutto, rispettivamente, la resistenza è maggiore. Arduino accetta questi valori, confronta e, se necessario, accende, ad esempio, una pompa. Il sensore è in grado di funzionare sia con modalità digitale che analogica, prenderemo in considerazione entrambe le opzioni di connessione. FC-28 viene utilizzato principalmente in piccoli progetti, ad esempio quando si annaffia automaticamente una particolare pianta, poiché è scomodo utilizzarla su larga scala a causa delle sue dimensioni e degli svantaggi, che prenderemo in considerazione anche.

Sensore di umidità del suolo FC-28
Sensore di umidità del suolo FC-28

Dove acquistare

Il fatto è che nei negozi russi i sensori per lavorare con Arduino sono relativamente costosi. Il prezzo medio per questo sensore in Russia varia da 200 a 300 rubli, mentre in Aliexpress lo stesso sensore costa solo 30-50. Il markup è enorme. Naturalmente, puoi ancora creare un sensore per misurare l'umidità del suolo con le tue mani, ma ne parleremo più avanti.

Informazioni sulla connessione

Collegare il sensore di umidità ad Arduino è molto semplice. Viene fornito con un comparatore e un potenziometro per regolare la sensibilità del sensore, nonché per impostare il valore limite quando collegato tramite un'uscita digitale. Il segnale di uscita, come accennato in precedenza, può essere digitale e analogico.

Pinout del sensore di umidità del suolo
Pinout del sensore di umidità del suolo

Collegamento con uscita digitale

Connesso quasi allo stesso modo dell'analogico:

  • VCC - 5V su Arduino.
  • D0 - D8 su scheda Arduino.
  • GND -terra.

Come accennato in precedenza, sul modulo sensore si trovano un comparatore e un potenziometro. Tutto funziona così: tramite un potenziometro, impostiamo il valore limite del nostro sensore. FC-28 confronta il valore con il limite e quindi invia il valore ad Arduino. Diciamo che i valori del sensore sono al di sopra della soglia, nel qual caso il sensore di umidità del suolo su Arduino trasmette 5V, se inferiore - 0V. Tutto è molto semplice, ma la modalità analogica ha valori più accurati, quindi si consiglia di utilizzarla.

Connessione utilizzando la modalità digitale
Connessione utilizzando la modalità digitale

Lo schema elettrico è simile alla foto sopra. modo

Il codice di programmazione per Arduino quando si utilizza la modalità digitale è mostrato di seguito.


int led_pin=13; int pin_sensore=8; void setup() { pinMode(led_pin, OUTPUT); pinMode(sensor_pin, INPUT); } void loop() { if(digitalRead(sensor_pin)==HIGH){ digitalWrite(led_pin, HIGH); } else { digitalWrite(led_pin, LOW); ritardo(1000); } }

Cosa fa il nostro codice? In primo luogo, sono state identificate due variabili. La prima variabile - led_pin - serve a designare il LED e la seconda - a designare il sensore di umidità del suolo. Successivamente, dichiariamo il pin del LED come output e il pin del sensore come input. Questo è necessario per poter ottenere i valori e, se necessario, accendere il LED per vedere visivamente che i valori del sensore sono al di sopra della soglia. Nel ciclo, leggiamo i valori dal sensore. Se il valore è superiore al limite accendere il led, se è inferiore spegnerlo. Invece di un LEDforse una pompa, dipende solo da te.

Modalità analogica

Per connetterti usando l'uscita analogica, devi lavorare con A0. Il sensore capacitivo di umidità del suolo in Arduino assume valori da 0 a 1023. Collega il sensore come segue:

  • VCC collega 5V ad Arduino.
  • GND sul sensore è collegato a GND sulla scheda Arduino.
  • A0 si connette ad A0 su Arduino.

Successivamente, scrivi il codice qui sotto in Arduino.


int pin_sensore=A0; int valore_output; void setup() { Serial.begin(9600); Serial.println("Lettura del sensore"); ritardo(2000); } void loop() { output_value=analogRead(sensor_pin); valore_output=mappa(valore_output, 550, 0, 0, 100); Serial.print("Umidità"); Serial.print(valore_output); Serial.println("%"); ritardo(1000); }

Quindi cosa fa questo codice? Il primo passo è stato impostare le variabili. La prima variabile è necessaria per determinare il contatto del sensore e l' altra memorizzerà i risultati che riceveremo utilizzando il sensore. Successivamente, leggiamo i dati. Nel ciclo, scriviamo i valori dal sensore nella variabile output_value che abbiamo creato. Quindi viene calcolata la percentuale di umidità del suolo, dopodiché la visualizziamo sul monitor della porta. Lo schema elettrico è mostrato di seguito.

Collegamento analogico del sensore di umidità del suolo
Collegamento analogico del sensore di umidità del suolo

Fai da te

È stato discusso sopra come collegare il sensore di umidità del suolo ad Arduino. Il problema con questi sensori è che hanno vita breve. Il fatto è che sono molto inclini acorrosione. Alcune aziende producono sensori con un rivestimento speciale per aumentare la durata, ma non è ancora la stessa. Viene anche considerata la possibilità di utilizzare il sensore non spesso, ma solo quando richiesto. Ad esempio, esiste un codice di programma in cui ogni secondo il sensore legge i valori di umidità del suolo. Puoi prolungare la durata del servizio se lo accendi, ad esempio, una volta al giorno. Ma se questo non ti soddisfa, puoi creare un sensore di umidità del suolo con le tue mani. Arduino non sentirà la differenza. Fondamentalmente, il sistema è lo stesso. Semplicemente, invece di due sensori, puoi metterne uno tuo e utilizzare un materiale meno suscettibile alla corrosione. Idealmente, ovviamente, utilizzare l'oro, ma dato il suo prezzo, risulterà molto costoso. In generale, è più economico da acquistare, dato il prezzo di FC-28.

Sensore di umidità del suolo fai-da-te
Sensore di umidità del suolo fai-da-te

Pro e contro

L'articolo ha discusso le opzioni per collegare un sensore di umidità del suolo ad Arduino e sono stati presentati anche esempi di codice di programma. L'FC-28 è un ottimo sensore di umidità del suolo, ma quali sono i vantaggi e gli svantaggi specifici di questo sensore?

Pro:

  • Prezzo. Questo sensore ha un prezzo molto basso, quindi ogni radioamatore potrà acquistare e costruire il proprio sistema di irrigazione automatica per le piante. Naturalmente, quando si lavora con grandi scale, questo sensore non è adatto, ma non è destinato a questo. Se hai bisogno di un sensore più potente - SM2802B, dovrai pagare un importo piuttosto elevato per questo.
  • Semplicità. Padroneggiare il lavoro con questo sensore di umidità del suolo in Arduino cana testa. Solo pochi fili, un paio di righe di codice - e il gioco è fatto. Controllo dell'umidità del suolo eseguito.

Contro:

Consigliato: