TERMOIGROMETRO ETHERNET con ARDUINO ETHERNET TERMO-HYGROMETER with ARDUINO
Il dispositivo serve a misurare temperatura ed umidita' ambiente. Puo' essere connesso ad una rete tramite porta Ethernet e permette di leggere i dati tramite una semplice pagina web.
Per la realizzazione del progetto sono necessari una scheda Arduino con Ethernet shield, un sensore digitale di temperature ed umidita' SHT75 o SHT71 ed un pull up resistor da 4.7kOhm.
Informazioni sulla scheda Arduino e la sua programmazione tramite il relativo ambiente di sviluppo integrato (IDE) sono ampiamente disponibili su Internet ed non rientrano nello scopo di questa pagina.
Un sistema simile a quello qui descritto potrebbe anche essere realizzato con sensori piu' economici (come il DHT22). Tuttavia, usando questi sensori, ho avuto seri problemi di saturazione non reversibile durante l'uso in ambienti esterni dove l'umidita' relativa puo' essere pari al 100% per ore.
Nel caso fossi interessato alla realizzazione di un sistema piu' economico per l'uso in ambienti al chiuso, senza alti livelli di umidita', posso fornire gli schemi di connessione con il sensore DHT22 ed il codice Arduino. Basta contattarmi.
I collegamenti tra la scheda Arduino ed il sensore SHT7x possono essere realizzati come in figura. Il sensore richiede una connessione con due pin digitali (Serial Data e Serial Clock) in aggiunta alla tensione di alimentazione ed alla massa. E' preferibile l'uso della tensione di 3.3V ma 5V possono ugualmente essere utilizzati e potrebbero portare benefici nel caso si usi un cavo relativamente piu' lungo.



Il codice per Arduino realizza un semplice server web. Connettendosi alla scheda Arduino tramite il suo indirizzo IP ed eventuale porta opzionale (http://arduino_address[:port]) si riceve in risposta un semplice testo con i dati di temperatura, umidita' e punto di rugiada calcolato:



I soli valori di temperatura, umidita' e punto di rugiada possono altresi' essere ottenuti ai loro rispettivi indirizzi http://arduino_address[:port]/temperature, http://arduino_address[:port]/humidity e http://arduino_address[:port]/dewpoint).
Il codice per la scheda Arduino e' riportato qui di seguito.
I parametri relativi alla rete locale devono naturalmente essere modificati in base alla LAN a cui l'Arduino sara' connesso.
Prima di procedere con la compilazione tramite al Arduino IDE, e' necessario scaricare da Internet la libreria Sensirion e caricarla nella IDE tramite il Library Manager. Una copia dei file della libreria ed anche presente nell'archivio con tutti i file del progetto disponibile per il download.
The device is measuring ambient temperature and humidity. It can be connected to an LAN through Ethernet port and allows data reading on a simple web page.
The project requires an Arduino board with Ethernet shield, a digital temperature and humidity sensor SHT75 or SHT71 and a 4.7kOhm pull up resistor.
Information on the Arduino hardware and its programming IDE (Integrated Development Environment) is widely available on Internet and it is out of the scope of this page.
A system similar to the one described here could also be realized with cheaper sensors compared to SHT75 (like DHT22). However, when using those sensors, I experienced severe and not reversible saturation problems in outdoor environments where 100% relative humidity condition can last for hours.
In case you'd like to realize a cheaper system for indoor conditions, not facing high humidity levels, I can provide you with the connection scheme for DHT22 sensor together with the Arduino code. Just contact me.
Connections among the components Arduino and SHT7x sensor can be realized as per the picture below. The sensor require a connection with two digital pins (Serial Data and Serial Clock) in addition to Source Voltage and Ground. Source voltage of 3.3V is recommended but 5V can also be used and might be beneficial if a longer wire is used.




The code for Arduino realizes a very simple web server. When directly connecting to the Arduino board with its IP address and an optional TCP port (http://arduino_address[:port]) you get an answer with a simple text summarizing temperature, humidity and calculated dew point data:



Pure temperature, humidity and due point figures can also be retrieved at respective addresses (http://arduino_address[:port]/temperature, http://arduino_address[:port]/humidity and http://arduino_address[:port]/dewpoint).
The source code for the Arduino board is shown here below.
Local network settings should of course be changed according to the LAN the Arduino will be connected to.
Before compiling with Arduino IDE, you've to download from the Internet Sensirion libraries and load them into the IDE with the Library Manager.
A copy of library file is also included in the archive with all needed project files available for download.


Arduino_SHT75_temperature_humidity_webserver.ino:


Tutti i file necessari per realizzare il sistema possono essere scaricati a questo link.
All files needed to realize this system can be downloaded at this link.

"Arduino", "SHT75", "SHT71", "DHT22" ed altri marchi citati in queste pagine sono proprieta' dei rispettivi titolari. "Arduino", "SHT75", "SHT71", "DHT22" and other brands mentioned in these pages are trademarks of their respective owners.