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 !!!

Prima di inserire un commento, per favore, leggi il regolamento

Permanent link to this article: https://www.mauroalfieri.it/elettronica/sht10-soil-temperature-moisture-sensor.html

11 pings

Skip to comment form

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

Lascia un commento

Your email address will not be published.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.