3.3.7 Regolazione della Temperatura e dell’Umidità
3.3.7.1 Panoramica

In questo progetto introdurremo come costruire un sistema di regolazione della temperatura e dell’umidità con una scheda micro:bit, il sensore di temperatura e umidità XHT11, un motore 130, un modulo di atomizzazione e un display OLED.
Il sistema misura la temperatura e l’umidità ambientale tramite il sensore XHT11 e le regola controllando la rotazione della ventola e la nebulizzazione dell’acqua tramite il modulo di atomizzazione quando necessario. Quando la temperatura o l’umidità superano la soglia impostata, si attiveranno la ventola e la nebulizzazione dal modulo di atomizzazione. Nel frattempo, l’OLED mostrerà in tempo reale la temperatura e l’umidità correnti.
Poiché è in grado di regolare temperatura e umidità, è ampiamente applicato a progetti che richiedono il controllo di questi parametri.

3.3.7.2 Conoscenze sui Componenti

Sensore di Temperatura e Umidità XHT11

Il sensore di temperatura e umidità XHT11 fornisce segnali digitali. Acquisisce e converte segnali analogici, e rileva temperatura e umidità garantendo un’eccellente stabilità a lungo termine e alta affidabilità. Inoltre, contiene un sensore di umidità resistivo ad alta precisione e un sensore di temperatura termoresistivo, ed è collegato a un microcontrollore ad 8 bit ad alte prestazioni.
Modalità di comunicazione XHT11:
L’XHT11 adotta una comunicazione semplificata a bus singolo. Un bus singolo significa che c’è una sola linea dati, quindi lo scambio di dati e il controllo nel sistema avvengono tutti su questa linea.
Definizione della trasmissione dei bit sul bus singolo:
Formato dati del bus singolo: vengono trasmessi 40 bit di dati alla volta, con i bit più significativi in testa.
8 bit interi umidità + 8 bit decimali umidità + 8 bit interi temperatura + 8 bit decimali temperatura + 8 bit di parità. Si noti che la parte decimale dell’umidità è 0.
Definizione del bit di parità:
8 bit interi umidità + 8 bit decimali umidità + 8 bit interi temperatura + 8 bit decimali temperatura. I 8 bit di parità sono gli ultimi 8 bit del risultato.

Diagramma temporale dei dati:
Dopo che l’host (MCU) invia un segnale di avvio una volta, l’XHT11 passa dalla modalità a basso consumo alla modalità ad alta velocità. Una volta terminato il segnale di avvio dell’host, l’XHT11 invia un segnale di risposta, emette 40 bit di dati e esegue un’acquisizione del segnale. La trasmissione del segnale è mostrata qui sotto.

⚠️ Nota: I dati di temperatura e umidità letti dall’host dall’XHT11 sono sempre il valore della misurazione precedente. Se l’intervallo tra due misurazioni è lungo, si prega di leggere due volte consecutivamente e prendere il secondo valore ottenuto come valore in tempo reale.
Diagramma schematico:

Parametri:
Tensione di esercizio: DC 3.3V~5V
Corrente di esercizio: (Max)2.5mA@5V
Potenza massima: 0.0125W
Intervallo di temperatura: -25 ~ +60°C (±2℃)
Intervallo di umidità: 5 ~ 95%R (precisione di ±5%RH intorno a 25 °C)
Segnale di uscita: bus singolo digitale bidirezionale
Modulo di Atomizzazione

Il modulo di atomizzazione è composto da un driver e da una lastra di atomizzazione, che atomizza l’acqua. Può essere controllato da un microcontrollore o da pulsanti manuali.
Principio di funzionamento: Il modulo di atomizzazione adotta generalmente la tecnologia ultrasonica per generare la nebbia d’acqua. Contiene una piastra piezoelettrica che inizia a vibrare quando viene applicata una tensione ad alta frequenza. La vibrazione raccoglie piccole goccioline d’acqua sulla superficie dell’acqua, che vengono poi disperse formando fini nebulizzazioni.
Qualità della nebbia: Questo modulo può convertire efficacemente l’acqua in particelle d’acqua molto piccole, solitamente nell’intervallo da 1 a 5 micron. Questa nebbia fine tende ad evaporare e diffondersi più facilmente nell’aria, agendo così come un umidificatore efficace.
⚠️ Attenzione:
1. Dopo l’accensione, la lastra di atomizzazione deve essere posta nell’acqua. Se rimane esposta all’aria per lungo tempo, la lastra si surriscalderà e si brucerà.
2. Posizionare delicatamente la lastra di atomizzazione sulla superficie dell’acqua. Se viene immersa in acqua, non genererà nebbia.
Parametri:
Tensione di esercizio: DC 5V
Foro di installazione: diametro 4.8mm, distanza tra fori 16mm
Dimensioni: 31mm di lunghezza, 23mm di larghezza, 8mm di altezza
Peso: 4.5g
Temperatura di esercizio: -25°C a +60°C
Interfaccia modulo: pin curvi a 3 contatti, passo 2.54
Interfaccia lastra di atomizzazione: connettore femmina PH2.0
Funzione: utilizzato per trasformare l’acqua in fine nebbia e rilasciarla nell’aria
Dimensioni della lastra di atomizzazione:

⚠️ Nota: Non tirare il filo sulla lastra il più possibile, altrimenti il punto di saldatura potrebbe staccarsi.
Istruzioni per l’uso del modulo di atomizzazione:
Esistono due modalità di controllo: tramite pulsanti e tramite programmazione MCU.
Controllo tramite pulsante: Premere il pulsante per accendere il modulo di atomizzazione. Premere nuovamente il pulsante per spegnerlo.
Controllo tramite programmazione MCU: Simula la pressione di un pulsante. In condizioni normali fornisce un livello alto e diventa basso quando premuto. Rilasciando il pulsante ritorna a livello alto.
Pertanto, quando si usa l’MCU, è sufficiente inviare al modulo un breve livello basso, come se si premesse il pulsante. Possiamo controllare il tempo di avvio o pausa del modulo di atomizzazione regolando la durata del livello alto.
Installa la bacchetta di cotone:
1. Immergere completamente la bacchetta di cotone nell’acqua (trovare un contenitore ad alta capacità che copra l’intera bacchetta con acqua e lasciarla in ammollo per più di 5 minuti per assicurarsi che assorba completamente l’acqua).

2. Installare la lastra di atomizzazione all’interno del supporto di plastica. Prestare attenzione alla direzione della lastra. Posizionare il filo nella scanalatura del supporto.


3. Chiudere l’altro lato del supporto di plastica.

4. Inserire la bacchetta di cotone al centro del supporto. Deve essere inserita completamente fino a toccare la lastra di atomizzazione.

5. Collegare la lastra di atomizzazione al connettore femmina PH2.0 del modulo, come mostrato di seguito.

6. Collegare il modulo di atomizzazione allo shield per micro:bit e collegare un’alimentazione esterna.

7. Immergere nuovamente la bacchetta di cotone in acqua per oltre 3 minuti. L’acqua dovrebbe coprire la bacchetta il più possibile, ma l’acqua non dovrebbe traboccare.

8. Premere il pulsante nero sul modulo, e si può vedere che inizia a nebulizzare. La nebbia d’acqua viene spruzzata per 3 secondi. Premere nuovamente il pulsante per spegnerlo.
⚠️ Attenzione: la lastra di atomizzazione non deve funzionare a lungo; ogni operazione non deve superare i 5 secondi. È meglio fermarsi per 1-2 minuti fino a quando la bacchetta di cotone non sia di nuovo piena d’acqua prima di continuare a lavorare. Altrimenti potrebbe bruciarsi.



3.3.7.3 Componenti Richiesti
|
|
|
|---|---|---|
micro:bit V2 main board ×1 |
micro:bit shield ×1 |
atomization module ×1 |
|
|
|
XHT11 temperature and |
OLED display ×1 |
130 motor ×1 |
|
|
|
micro USB cable ×1 |
4 pin wire ×2 |
3 pin wire ×2 |
|
|
|
fan ×1 |
battery holder ×1 |
AA battery(self-prepared) ×6 |
3.3.7.4 Schema di Collegamento
⚠️ Quando eseguite i collegamenti, prestate attenzione al colore dei fili.
130 motor |
wire color |
micro:bit shield pin |
micro:bit board pin |
|---|---|---|---|
G |
black |
G |
G |
V |
red |
V2 |
V |
IN+ |
blue |
2 |
P2 |
IN- |
green |
13 |
P13 |
OLED display |
wire color |
micro:bit shield pin |
micro:bit board pin |
|---|---|---|---|
GND |
black |
G |
G |
VCC |
red |
V2 |
V |
SDA |
blue |
20 |
P20 |
SCL |
green |
19 |
P19 |
atomization module |
wire color |
micro:bit shield pin |
micro:bit board pin |
|---|---|---|---|
G |
black |
G |
G |
V |
red |
V2 |
V |
S |
yellow |
16 |
P16 |
XHT11 temperature and |
wire color |
micro:bit shield pin |
micro:bit board pin |
|---|---|---|---|
G |
black |
G |
G |
V |
red |
V1 |
V |
S |
yellow |
0 |
P0 |

3.3.7.5 Flusso del Codice

3.3.7.6 Codice di Test
⚠️ Nota: le soglie 30 e 70 nella condizione if() possono essere modificate in base alla situazione effettiva.
Codice completo:


Breve spiegazione:
① Inizializza i pixel dell’OLED, cancella l’OLED. La matrice LED 5×5 mostra
. Definire due variabili temperature e humidity, impostando i loro valori iniziali a 0, e spegnere il modulo di atomizzazione.

② Assegnare alla variabile temperature il valore di temperatura letto dal sensore XHT11, e alla variabile humidity il valore di umidità.

③ L’OLED mostra i valori di temperatura e umidità rilevati dal sensore XHT11.

④ Istruzione di giudizio: if()…else…
Se la temperatura rilevata è superiore a 30℃ o l’umidità è superiore a 70%RH, la ventola si fermerà dopo aver girato per 2 secondi. Poi il modulo di atomizzazione entrerà in funzione e nebulizzerà per regolare la temperatura e l’umidità ambientali. Nel frattempo, l’OLED mostra “Cooling/Humidifying”.

Altrimenti, la ventola e il modulo di atomizzazione non funzioneranno e l’OLED visualizzerà “Normal State”.

⑤ Ritardo di 500ms(0.5s)

3.3.7.7 Risultato del Test

Dopo aver eseguito i collegamenti e aver alimentato tramite cavo micro USB, collegare l’alimentazione esterna (6 pile AA) per garantire un’alimentazione sufficiente.
Per l’App Windows 10, basta cliccare su download. Per il browser, inviare il file “.hex” alla scheda micro:bit.
Dopo aver caricato il codice di test sulla scheda micro:bit, l’OLED mostra in tempo reale i valori di temperatura e umidità rilevati dal sensore XHT11.
Se la temperatura rilevata è superiore a 30℃ o l’umidità è superiore a 70%RH, la ventola si fermerà dopo aver girato per 2 secondi. Poi il modulo di atomizzazione entrerà in funzione e nebulizzerà per regolare la temperatura e l’umidità ambientali. Nel frattempo, l’OLED mostra “Cooling/Humidifying”. Altrimenti, la ventola e il modulo di atomizzazione non funzioneranno e l’OLED visualizzerà “Normal State”.

⚠️ Nota: i mattoncini usati nell’esperimento non sono inclusi in questo kit.
(Suggerimento: Se non si osserva alcun risultato, premere il pulsante di reset della scheda micro:bit.)












