4.2.7 Misuratore di Temperatura e Umidità
4.2.7.1 Panoramica

In questo progetto, costruiamo un sistema di monitoraggio della temperatura e dell’umidità con una scheda Micro:bit, un gamepad, un sensore di temperatura e umidità XHT11 e un display OLED. Il sensore XHT11 misura la temperatura e l’umidità ambiente, mentre il display OLED aggiorna le letture in tempo reale. La scheda di controllo del gamepad facilita l’espansione del circuito e le connessioni stabili, consentendo al sistema di funzionare come un semplice termometro.

4.2.7.2 Conoscenza dei Componenti

Sensore di temperatura e umidità XHT11

Il sensore di temperatura e umidità XHT11 emette segnali digitali e impiega un’acquisizione e conversione del segnale analogico specializzata, tecniche avanzate di rilevamento della temperatura e dell’umidità per garantire un’eccellente stabilità a lungo termine e un’elevata affidabilità.
Incorpora sensori di umidità resistivi e termistori di temperatura ad alta precisione, integrati con un microcontrollore a 8 bit ad alte prestazioni.
Modalità di comunicazione XHT11:
Impiega una comunicazione single-bus semplificata. Il single-bus è costituito da una singola linea dati, attraverso la quale vengono eseguite tutte le operazioni di scambio dati e controllo all’interno del sistema.
Bit di dati di trasmissione single-bus:
Formato dati single-bus: Trasmette 40 bit di dati alla volta, bit più significativo per primo.
8 bit di dati di umidità interi + 8 bit di dati di umidità decimali + 8 bit di dati di temperatura interi + 8 bit di dati di temperatura decimali + 8 bit di parità.
Nota: La parte decimale dell’umidità è 0.
Bit di parità:
8 bit di dati di umidità interi + 8 bit di dati di umidità decimali + 8 bit di dati di temperatura interi + 8 bit di dati di temperatura decimali
Il bit di parità a 8 bit è l’ultimo 8 bit del risultato.

Diagramma della sequenza dati del sensore di temperatura e umidità XH11:
Dopo che l’host utente (MCU) invia un segnale di avvio, l’XHT11 passa dalla modalità a basso consumo alla modalità ad alta velocità, e dopo la fine di questo segnale, l’XHT11 invia un segnale di risposta e 40 bit di dati, e attiva un’acquisizione del segnale.
Il segnale viene inviato come mostrato nella figura:

⚠️ Suggerimento: I dati di temperatura e umidità letti dall’host dal sensore XHT11 sono sempre i valori della misurazione precedente. Se c’è un lungo intervallo tra due misurazioni, si prega di effettuare due letture consecutive; il valore della seconda volta sarà quello effettivo.
Schema schematico:

Parametri:
Tensione operativa: DC 3V~5V
Corrente operativa: (Max)2.5mA
Potenza massima: 0.0125W
Intervallo di temperatura: -25 ~ +60°C (±2℃)
Intervallo di umidità: 5 ~ 95%RH (Precisione intorno a 25°C è ±5%RH)
Segnale di uscita: single-bus digitale bidirezionale
Display OLED

L’OLED offre vantaggi eccezionali come una ricca riproduzione dei colori, un contrasto elevato e ampi angoli di visione. Le immagini su di esso sono chiare e vivide, con un nero particolarmente eccezionale. Ogni pixel è auto-emissivo senza bisogno di retroilluminazione, con conseguente consumo energetico relativamente basso. Lo schermo OLED da 0,9 pollici, con le sue dimensioni compatte, l’alta risoluzione (128×64 pixel) e il basso consumo energetico, è ideale per applicazioni in sistemi embedded e dispositivi indossabili.
⚠️ Nota: Per questo display OLED, l’interfaccia SDA è collegata al pin P20 sulla scheda Micro:bit, mentre l’SCL è collegata al pin P19.
Parametri:
Tensione operativa: DC 3V - 5V
Corrente operativa: 30mA
Interfaccia: Pin con spaziatura di 2.54mm
Modalità di comunicazione: comunicazione I2C
Chip di pilotaggio interno: SSD1306
Risoluzione: 128×64
Angolo di visione: Maggiore di 150°
4.2.7.3 Parti Richieste
|
|
|
|---|---|---|
Scheda micro:bit V2 (auto-fornita) ×1 |
Smart Gamepad micro:bit (assemblato) ×1 |
Batteria AAA (auto-fornita) ×4 |
|
|
|
Sensore di temperatura e umidità XHT11 (auto-fornito)×1 |
Display OLED (auto-fornito)×1 |
Cavo DuPont F-F(auto-fornito) x7 |
4.2.7.4 Schema di Cablaggio

Dopo aver cablato come mostrato sopra, inserisci la micro:bit nello slot sulla scheda di controllo del gamepad.
Display OLED |
Scheda di controllo gamepad micro:bit |
Pin scheda micro:bit |
|---|---|---|
GND |
GND |
GND |
VCC |
3V |
3V |
SDA |
SDA |
P20 |
SCL |
SCL |
P19 |
Sensore di temperatura e umidità XHT11 |
Scheda di controllo gamepad micro:bit |
Pin scheda micro:bit |
|---|---|---|
G |
GND |
GND |
V |
3V |
3V |
S |
12 |
P12 |
4.2.7.5 Flusso del Codice

4.2.7.6 Codice di Test
⚠️ Nota che qui sono incluse le librerie OLED e DHT11, quindi dobbiamo importare: https://github.com/keyestudio/pxt-environment-kit-master.
Codice completo:


Breve spiegazione:
① Inizializza i pixel dell’OLED e cancellalo, imposta la matrice 5×5LED per mostrare
, e definisci i valori di temperatura e umidità a 0.

② Assegna le letture corrispondenti del sensore XHT11 alle variabili temperatura e umidità.

③ L’OLED mostra le letture del sensore XHT11.

④ Ritardo 500ms (0.5s).

4.2.7.7 Risultato del Test

Dopo aver caricato il codice, inserisci la scheda micro:bit nello slot del gamepad (batterie installate) e sposta l’interruttore su “ON”.
Dopo aver caricato il codice sulla scheda micro:bit, l’OLED mostra in tempo reale la temperatura e l’umidità lette dal sensore XHT11.

Suggerimento: Se non c’è risposta sulla scheda, premi il pulsante di reset sul retro della scheda micro:bit.





