«

»

Mar 10

Stampa Articolo

SHT10 Soil Temperature Moisture Sensor

Il sensore di temperatura ed umidità del suolo SHT10 Soil Temperature Moisture Sensor é ideale nei progetti in cui vuoi monitorare la temperatura del suolo con una sonda digitale.

SHT10 Soil Temperature Moisture Sensor

La differenza tra una sonda analogica ed una digitale è data dall’affidabilità del dato anche su lunghe distanze in quanto il segnale non è influenzato dalla lunghezza dei cavi in quanto il dato non è misurato come differenza di potenziale tra i poli ed il cavo dati.

Le sonde digitali come la SHT10 Soil Temperature Moisture Sensor sono dotate di 4 cavi:

  • rosso -> vcc +3,3v o 5v
  • nero o verde -> gnd
  • giallo -> clock
  • blu -> data

SHT10 Soil Temperature Moisture Sensor confezione

Collegamenti della SHT10 Soil Temperature Moisture Sensor ad Arduino

Il collegamento è molto semplice, parti dall’alimentazione, il SHT10 Soil Temperature Moisture Sensor puoi alimentarlo a 3,3v o a 5v indifferentemente per cui io consiglio di usare i 3,3v in quanto i 5v di arduino in un progetto è sempre richiesta da altre sonde o componenti.

 

In pratica ho collegato in questo modo la SHT10 Soil Temperature Moisture Sensor ad arduino:

SHT10 Soil Temperature Moisture Sensor connessioni

ho saldato al resistenza tra il filo blu ( Data ) ed il filo rosso ( Vcc o +5v ):

SHT10 Soil Temperature Moisture Sensor resistenza

Smontare la sonda SHT10 Soil Temperature Moisture Sensor

La sonda SHT10 Soil Temperature Moisture Sensor può essere smontato per pulirlo o per sostituire i componenti danneggiati.

Sia il cavo sia la ghiera metallica che protegge il sensore puoi svitarli. Dal lato del cavo c’è un connettore a 4 fili:

SHT10 Soil Temperature Moisture Sensor smontato

mentre sotto la ghiera metallica si nasconde l’anima del SHT10 Soil Temperature Moisture Sensor protetto in modo opportuno perché non sia danneggiato dall’acqua quando posizionato nel terreno:

SHT10 Soil Temperature Moisture Sensor interno

La ghiera inoltre è studiata in modo da permettere la misurazione dell’umidità del terreno senza compromettere l’elettronica facendola raggiungere dall’acqua.

La libreria per usare la sonda

Come spesso accade per le sonde di tipo digitale come questa è disponibile una libreria o API che semplifica la scrittura dello sketch per la sonda.

Trovi l’api disponibile su github.

Inizia con cliccare sul pulsante “download” in basso a destra presente nella schermata di github:

SHT10 Soil Temperature Moisture Sensor library

decomprimi il file zip ottenuto:

SHT10 Soil Temperature Moisture Sensor library download

copia l’intera cartella relativa alla libreria del SHT10 Soil Temperature Moisture Sensor nel path relativo alle librerie del tuo IDE arduino:

SHT10 Soil Temperature Moisture Sensor library copy

ricorda che i file copiati nella directory librerie dell’IDE arduino possono contenere solo caratteri e numeri per cui devi rinominare la directory come SHT11 o similare a seconda delle tue preferenze:

SHT10 Soil Temperature Moisture Sensor rename

Avvia quindi l’IDE Arduino e carica l’esempio fornito con la libreria:

SHT10 Soil Temperature Moisture Sensor load example

Sketch di esempio ed uso della libreria SHT10

L’esempio di sketch è il seguente:

/**
 * ReadSHT1xValues
 *
 * Read temperature and humidity values from an SHT1x-series (SHT10,
 * SHT11, SHT15) sensor.
 *
 * Copyright 2009 Jonathan Oxer <jon@oxer.com.au>
 * www.practicalarduino.com
 */

#include <SHT1x.h>

// Specify data and clock connections and instantiate SHT1x object
#define dataPin  10
#define clockPin 11
SHT1x sht1x(dataPin, clockPin);

void setup()
{
   Serial.begin(38400); // Open serial connection to report values to host
   Serial.println("Starting up");
}

void loop()
{
  float temp_c;
  float temp_f;
  float humidity;

  // Read values from the sensor
  temp_c = sht1x.readTemperatureC();
  temp_f = sht1x.readTemperatureF();
  humidity = sht1x.readHumidity();

  // Print the values to the serial port
  Serial.print("Temperature: ");
  Serial.print(temp_c, DEC);
  Serial.print("C / ");
  Serial.print(temp_f, DEC);
  Serial.print("F. Humidity: ");
  Serial.print(humidity);
  Serial.println("%");

  delay(2000);
}

le linee di codice relative all’interrogazione della sonda SHT10 Soil Temperature Moisture Sensor sono poche in quanto la libreria si preoccupa di semplificare tutto il lavoro di comunicazione.

Alla linea 11: includi la classe SHT1x.h che si occupa della comunicazione con la sonda;

linee 14-15: definisci i pin a cui hai collegato la sonda, pin 10 data e pin 11 clock;

linea 16: crea una istanza della classe SHT1x definita come sht1x( data,clock );

linee 18-22: definisci la funzione setup() il cui compito in questo sketch è solo quello di definire il canale di comunicazione seriale a 38400 baud;

linee 26-28: definisci 3 variabili di tipo float ossia con virgola in ciascuna delle quali registrerai un valore di quelli restituiti dalla SHT10 Soil Temperature Moisture Sensor;

linea 31: interroga la sonda per recuperare la temperatura in gradi centigradi ( Celsius ) mediante il metodo readTemperatureC() offerto dalla libreria SHT1x;

linee 32-33: recupera i valori di temperatura in gradi Fahrenheit e di umidità;

linee 36-42: scrivi sul monitor seriale i valori recuperati dalla sonda;

linea 44: attendi un tempo di 2 secondi ( 2000 millisecondi ) prima di eseguire nuovamente il loop().

Sul monitor seriale dovresti leggere valori simili a quelli riportati nella figura seguente:

SHT10 Soil Temperature Moisture Sensor Serial Monitor

almeno questi sono i valori che ho letto sul mio SHT10 Soil Temperature Moisture Sensor non inserito nel terreno.

Buon test !!!

Permalink link a questo articolo: http://www.mauroalfieri.it/elettronica/sht10-soil-temperature-moisture-sensor.html

8 comments

1 ping

Vai al modulo dei commenti

  1. luca

    se io faccio l’orto da aprile a settembre lasciandola sempre nel terreno non si rovina

    1. Mauro Alfieri

      Ciao Luca,
      questa sonda viene venduta proprio con l’idea di impiegarla per lunghi periodi nel terreno.
      Ho realizzato alcuni progetti di monitoraggio con questa sonda ed ad oggi nessuno mi ha ancora scritto per lamentarsi della sonda.

  2. tabacchi gian paolo

    dovrei misurare la umidita nei sacchi contenenti granuli di plastica

    io faccio gia sonde per misurare la umidita e temperatura aria

    saluti

    1. Mauro Alfieri

      Ciao Gianpaolo,
      mi chiedi se questo sensore va bene ?
      Se produci già sonde ne sai di certo più di me 🙂

  3. andrea

    Io dovrei usare questa sonda in una piccola serra per rilevare l’umidita del terreno pero cercando su internet ho visto che ci sono altre sonde che sono:
    Sht11
    Sht15
    Seconde te quel’è la migiore di queste e cosa cambia da una all’altra
    sht10 ,sht11 , sht15
    Grazie

    1. Mauro Alfieri

      Ciao Andrea,
      purtroppo non conosco tutte le sonde che esistono ma solo quellle che testo, in ogni caso penso che le differenze tu possa leggerle sui siti dei produttori delle singole sonde. Probabilmente saranno differenti i range di funzionamento e le precisioni.

  4. Luigi

    Buongiorno
    vorrei un chiarimento in merito a quello che è scritto sopra nell’articolo: ” Il produttore del sensore inserisce nella confezione 1 o 2 resistenze da 10Kohm e RACCOMANDA che queste siano collegate tra il pin data ( cavo blu ) e il Gnd ( cavo verde o nero ) “, perché la resistenza è saldata invece sul filo rosso? cioè 5volt, vedi foto
    grazie e complimenti per il sito che leggo spesso
    Saluti, Luigi

    1. Mauro Alfieri

      Ciao Luigi,
      si tratta di un refuso, ho corretto grazie per la segnalazione, la resistenza va tra il cavo Data ( blu ) ed il cavo Vcc ( rosso ) come descritto in seguito nell’articolo.

  1. Centalina humidity temperatura suolo Mauro Alfieri Elettronic Domotica

    […] leggere i test sui sensori citati in questi articoli già pubblicati DHT11, SHT10, […]

Lascia un commento

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

Puoi usare i seguenti tag ed attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>