TINY MACHINE LEARNING LEZIONE 3

INDICE

  1. Avvertenze
  2. Note sul Copyright
  3. I sensori Umidità, Temperatura e Pressione della Nano BLE Sense
  4. SENSORE DI PRESSIONE LPS22HB
  5. SENSORE DI UMIDITA’ E TEMPERATURA HTS221
  6. PAI-004: Misura Umidità e Temperatura con HTS221
  7. Analisi dello sketch del Progetto AI-004 – Misura Umidità e Temperatura con HTS221
  8. PAI-005: Misura Pressione barometrica e Temperatura con LPS22HB
  9. Analisi dello sketch del Progetto AI-005 – Pressione e Temperatura con LPS22HB
  10. PAI-006: Semplice Stazione Meteo
  11. Analisi dello sketch del Progetto AI-006 – Semplice Stazione Meteo

Avvertenze

Relativamente agli aspetti di sicurezza, poiché i progetti sono basati su alimentazione elettrica in bassissima tensione erogata dalla porta usb del pc o da batterie di supporto o alimentatori con al massimo 9V in uscita, non ci sono particolari rischi di natura elettrica. È comunque doveroso precisare che eventuali cortocircuiti causati in fase di esercitazione potrebbero produrre danni al pc, agli arredi ed in casi estremi anche a ustioni, per tale ragione ogni qual volta si assembla un circuito, o si fanno modifiche su di esso, occorrerà farlo in assenza di alimentazione e al termine dell’esercitazione occorrerà provvedere alla disalimentazione del circuito rimuovendo sia il cavo usb di collegamento al pc che eventuali batterie dai preposti vani o connettori di alimentazione esterna. Inoltre, sempre per ragioni di sicurezza, è fortemente consigliato eseguire i progetti su tappeti isolanti e resistenti al calore acquistabili in un qualsiasi negozio di elettronica o anche sui siti web specializzati.

Al termine delle esercitazioni è opportuno lavarsi le mani, in quanto i componenti elettronici potrebbero avere residui di lavorazione che potrebbero arrecare danno se ingeriti o se a contatto con occhi, bocca, pelle, etc. Sebbene i singoli progetti siano stati testati e sicuri, chi decide di seguire quanto riportato nel presente documento, si assume la piena responsabilità di quanto potrebbe accadere nell’esecuzione delle esercitazioni previste nello stesso. Per i ragazzi più giovani e/o alle prime esperienze nel campo dell’Elettronica, si consiglia di eseguire le esercitazioni con l’aiuto ed in presenza di un adulto.

Roberto Francavilla

I sensori Umidità, Temperatura e Pressione della Nano BLE Sense

Con questa nuova lezione continuiamo la scoperta delle dotazioni hardware dell’Arduino Nano 33 BLE Sense. Ed in particolare ci soffermeremo su due sensori: SENSORE DI PRESSIONE LPS22HB e SENSORE DI UMIDITA’ E TEMPERATURA HTS221.

Per tutti i progetti che seguono abbiamo bisogno solo della scheda Nano BLE Sense, di un PC e del cavo USB di collegamento.

E’ bene evidenziare ancora una volta che lo scopo delle esercitazioni che seguiranno è quello di scoprire in dettaglio l’uso delle Librerie e quindi il funzionamento dei sensori presenti sulla scheda Arduino Nano 33 BLE Sense.

SENSORE DI PRESSIONE LPS22HB

[informazioni tecniche estratte e sintetizzate dal datasheet della ST Lite]

Questo sensore consente la rilevazione della pressione barometrica grazie ad un elemento piezoresistivo. L’uscita è in digitale. Il sensore effettua anche la misura della temperatura ambientale.

Vediamo come funziona.

L’elemento sensibile che rileva la pressione assoluta è costituito da una membrana sospesa prodotta utilizzando un processo dedicato sviluppato dalla ST. La deformazione di tale membrana, sottoposta alla pressione ambientale da rilevare, modifica le caratteristiche elettriche della stessa membrana che misurate, determina la pressione a cui è soggetta.

Questo sensore è in grado di misurare pressioni che vanno da 260 a 1260 hPa (hPa = etto Pascal – 1 hPa = 1 millibar).

La calibrazione del sensore è effettuata direttamente in fabbrica.

[informazioni tecniche estratte e sintetizzate dal datasheet della ST Lite]

L’HTS221 è un sensore digitale per umidità relativa e temperatura. L’elemento sensibile è costituito da una struttura a condensatore planare dielettrico polimerico in grado di rilevare variazioni di umidità relativa.

Infatti, l’umidità presente nell’aria modifica le caratteristiche elettriche del dielettrico presente nel condensatore e quindi misurando tali variazioni è possibile misurare la quantità di umidità presente nell’aria. Stessa cosa vale per la temperatura.

Alcuni dati caratteristici del sensore:

–         Intervallo di umidità relativa da 0 a 100%

–         Precisione dell’umidità: ± 3,5%

–         Intervallo di temperatura da -40°C a 120°C

–         Precisione della temperatura: ± 0,5°C nel range da 15°C a 40°C

PAI-004: Misura Umidità e Temperatura con HTS221

Lo sketch da utilizzare per questo progetto è quello mostrato sotto, esso è stato ottenuto direttamente dallo sketch di esempio presente nella libreria (a parte qualche piccola modifica effettuata da me):

Una volta caricato lo sketch, come descritto sopra e cambiata la porta a cui è collegata la board, aprire il Monitor Seriale e verranno mostrate le letture effettuate… provate anche ad alitarci supra per modificare l’umidità ed anche in piccola parte la temperatura…

Analisi dello sketch del Progetto AI-004 - Misura Umidità e Temperatura con HTS221

Per questo sensore occorre utilizzare la Libreria  Arduino_HTS221.h, ed occorre richiamarla con la classica sintassi:

#include <Arduino_HTS221.h>

Come è possibile osservare dallo sketch, le letture dal sensore avvengono mediante due semplici funzioni:

float temperature = HTS.readTemperature();

float humidity    = HTS.readHumidity();

il valore restituito dalla funzione è di tipo float.

PAI-005: Misura Pressione barometrica e Temperatura con LPS22HB

Anche per questo progetto utilizzeremo, modificandolo opportunamente, lo sketch messo a disposizione dall’esempio della libreria.

Lo sketch da utilizzare per questo progetto è:

Una volta caricato lo sketch e cambiata la porta a cui è collegato la Nano BLE Sense, aprire il Monitor Seriale e vi verrà mostrato le letture della pressione e della temperatura.

La pressione è restituita dal sensore direttamente in kPa (in chilo pascal) , per fare la conversione i millibar basta moltiplicare per 10 il valore restituito dalla lettura ed in questo modo si ottengono gli hPa (etto pascal) che sappiamo essere uguale a 1 millibar:

Analisi dello sketch del Progetto AI-005 - Pressione e Temperatura con LPS22HB

Come è possibile osservare dallo sketch, anche in questo caso l’uso della Libreria <Arduino_LPS22HB.h> semplifica tantissimo lo sketch. Infatti, una volta richiamata la libreria con “include”, basta utilizzare le funzioni

float pressure = BARO.readPressure();

float temperature = BARO.readTemperature();

per ricevere i valori delle letture della pressione barometrica e della temperatura. Anche in questo caso i valori sono restituiti in float.

PAI-006: Semplice Stazione Meteo

Modificando opportunamente entrambi gli sketch precedenti ed utilizzando le funzioni che ci mettono a disposizione le due librerie dei due sensori HTS221 ed LPS22HB, è possibile realizzare con la nostra Nano BLE Sense una piccola e semplice stazione meteorologica in grado di darci quei valori di pressione , temperatura ed umidità relativa del nostro ambiente.

Lo sketch modificato è il seguente:

Caricato lo sketch e cambiata la porta di comunicazione tra il PC e la board, passando da quella di scrittura a quella di lettura, è possibile aprire il monitor seriale che ci mostra i valori letti:

Analisi dello sketch del Progetto AI-006 – Semplice Stazione Meteo

Questo progetto non è altro che l’unione delle funzioni che si trovano nei due progetti precedenti. Come è possibile osservare la temperatura viene fatta rilevare dai due sensori distinti ed il risultato è praticamente identico a meno di qualche decimo di grado.

Anche in questo caso faccio calcolare l’hPA per ottenere la misura della pressione in millibar.

Se hai trovato la lezione interessante fai una donazione mi aiuterai a realizzarne tante altre.